Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre
L'abbonamento Ultimate di GeForce NOW ora comprende la nuova architettura Blackwell RTX con GPU RTX 5080 che garantisce prestazioni tre volte superiori alla precedente generazione. Non si tratta solo di velocità, ma di un'esperienza di gioco migliorata con nuove tecnologie di streaming e un catalogo giochi raddoppiato grazie alla funzione Install-to-Play
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Deebot X11 Omnicyclone implementa tutte le ultime tecnologie Ecovacs per l'aspirazione dei pavimenti di casa e il loro lavaggio, con una novità: nella base di ricarica non c'è più il sacchetto di raccolta dello sporco, sostituito da un aspirapolvere ciclonico che accumula tutto in un contenitore rigido
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio
Grazie ad un mocio rotante che viene costantemente bagnato e pulito, Narwal Flow assicura un completo e capillare lavaggio dei pavimenti di casa. La logica di intellignza artificiale integrata guida nella pulizia tra i diversi locali, sfruttando un motore di aspirazione molto potente e un sistema basculante per la spazzola molto efficace sui tappeti di casa
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 16-09-2005, 16:08   #1
firefox88
Senior Member
 
Iscritto dal: Oct 2004
Messaggi: 595
Ho bisogno di uno script...

Salve a tutti,

ho bisogno di uno script per il mio blog, e ho pensato di chiedere a voi che siete sempre così gentili!

Il problema è questo: per ragioni di sicurezza, non autorizzo l'inserimento di codice HTML nei commenti. Ovvero, quando un utente scrive un commento, esso viene elaborato da un'apposita funzione che converte "<" e ">" in entità HTML, cosicché il browser non le interpreti come tag.

Tuttavia, vorrei dare alla possibilità agli utenti di inserire link cliccabili nei commenti. Perciò ho creato questa funzione:

Codice PHP:
function crea_link($testo) {
        
$testo ereg_replace('http([^\ <>]+)','<a href="http\\1">http\\1</a>',$testo);
        return 
$testo;

In questo modo se l'utente inserisce un link viene trasformato in un link cliccabile (<a href=...).

Ed ecco il punto: se gli utenti inseriscono link troppo lunghi, mi sfaldano il design del sito, allargando la tabella oltre la misura appropriata. Perciò mi serve che la funzione "tagli" i link dopo il 30° carattere, un po' come fa questo forum

Ma come posso fare????

Grazie
firefox88 è offline   Rispondi citando il messaggio o parte di esso
Old 16-09-2005, 19:28   #2
firefox88
Senior Member
 
Iscritto dal: Oct 2004
Messaggi: 595
up
firefox88 è offline   Rispondi citando il messaggio o parte di esso
Old 17-09-2005, 02:09   #3
Gremo
Senior Member
 
L'Avatar di Gremo
 
Iscritto dal: Oct 2000
Città: Udine
Messaggi: 3178
perchè onn usi qualcosa del tipo:

Codice PHP:
$len 30//lunghezza massima
$append "...";
if(
strlen($testo) > $len) {
  
$testo substr($testo0$len);
  
$testo .= $append;
}

.... 
ovviamente il controllo dovrà essere fatto sull'etichetta del link, non su tutta la stringa
__________________

Desktop: Intel i7-4770K | Asus Gryphon Z87 | Crucial 16GB DDR3 1600MHz | Gigabyte GTX 780 OC Windforce x3 | Samsung 840 Pro 128GB (x 2 RAID0) | be quiet! Straight Power E9 680W CM
Mercatino: bottoni, Dede371, pippokennedy, Bulbi_67, randose, DarkSiDE, davidepaco, _Legend_
Gremo è offline   Rispondi citando il messaggio o parte di esso
Old 17-09-2005, 06:39   #4
firefox88
Senior Member
 
Iscritto dal: Oct 2004
Messaggi: 595
Quote:
Originariamente inviato da Gremo
perchè onn usi qualcosa del tipo:

Codice PHP:
$len 30//lunghezza massima
$append "...";
if(
strlen($testo) > $len) {
  
$testo substr($testo0$len);
  
$testo .= $append;
}

.... 
ovviamente il controllo dovrà essere fatto sull'etichetta del link, non su tutta la stringa
E' chiaro. Il punto è che tu dai per scontato che $testo è solo un link. Invece è un testo vero e proprio, contenente dei link.
firefox88 è offline   Rispondi citando il messaggio o parte di esso
Old 17-09-2005, 08:05   #5
Gremo
Senior Member
 
L'Avatar di Gremo
 
Iscritto dal: Oct 2000
Città: Udine
Messaggi: 3178
Quote:
Originariamente inviato da firefox88
E' chiaro. Il punto è che tu dai per scontato che $testo è solo un link. Invece è un testo vero e proprio, contenente dei link.
'giorno!
immaginavo che non chiedevi questo
consideralo come un up
se mi viene in mente qualcosa...

ps. posteresti lo script per sostituire i < > ? ne ho bisogno proprio in questo momento
__________________

Desktop: Intel i7-4770K | Asus Gryphon Z87 | Crucial 16GB DDR3 1600MHz | Gigabyte GTX 780 OC Windforce x3 | Samsung 840 Pro 128GB (x 2 RAID0) | be quiet! Straight Power E9 680W CM
Mercatino: bottoni, Dede371, pippokennedy, Bulbi_67, randose, DarkSiDE, davidepaco, _Legend_
Gremo è offline   Rispondi citando il messaggio o parte di esso
Old 17-09-2005, 08:45   #6
Gremo
Senior Member
 
L'Avatar di Gremo
 
Iscritto dal: Oct 2000
Città: Udine
Messaggi: 3178
idea poco elegante:
con ereg_replace sostituisci tutti i tag <a href=""... (che ovviamente devono seguire uno schema) con STARTAG, e tutti gli </a> con ENDTAG
dopo in modo ricorsivo usando strpos e substr estrapoli le etichette e fai il controllo sulla loro lunghezza, eventualmente accorciando e sostituendo

non sarà bello ma funziona (penso)
__________________

Desktop: Intel i7-4770K | Asus Gryphon Z87 | Crucial 16GB DDR3 1600MHz | Gigabyte GTX 780 OC Windforce x3 | Samsung 840 Pro 128GB (x 2 RAID0) | be quiet! Straight Power E9 680W CM
Mercatino: bottoni, Dede371, pippokennedy, Bulbi_67, randose, DarkSiDE, davidepaco, _Legend_
Gremo è offline   Rispondi citando il messaggio o parte di esso
Old 18-09-2005, 08:13   #7
firefox88
Senior Member
 
Iscritto dal: Oct 2004
Messaggi: 595
Per rendere i tag HTML inutili e trasformarli in entità HTML la funzione PHP è questa:

string htmlspecialchars ( string string [, int quote_style [, string charset]] )

http://it.php.net/manual/it/function.htmlentities.php


Quote:
con ereg_replace sostituisci tutti i tag <a href=""... (che ovviamente devono seguire uno schema) con STARTAG, e tutti gli </a> con ENDTAG
Non ho bisogno di sostituire gli <a href...> Devo individuare i link, trasformarli in link cliccabili aggiungendovi <a href...> dopo averli tagliati se più lunghi di 30 caratteri.
firefox88 è offline   Rispondi citando il messaggio o parte di esso
Old 18-09-2005, 08:28   #8
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Fammi capire...$testo cosa ti ritorna in une esempio tipico di utilizzo ?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 18-09-2005, 09:03   #9
firefox88
Senior Member
 
Iscritto dal: Oct 2004
Messaggi: 595
Quote:
Originariamente inviato da cionci
Fammi capire...$testo cosa ti ritorna in une esempio tipico di utilizzo ?
Non ho capito la domanda. Nel primo post, comunque, è spiegato nel dettaglio tutto quello di cui ho bisogno.
firefox88 è offline   Rispondi citando il messaggio o parte di esso
Old 18-09-2005, 17:33   #10
Gremo
Senior Member
 
L'Avatar di Gremo
 
Iscritto dal: Oct 2000
Città: Udine
Messaggi: 3178
Quote:
Originariamente inviato da firefox88
Non ho bisogno di sostituire gli <a href...> Devo individuare i link, trasformarli in link cliccabili aggiungendovi <a href...> dopo averli tagliati se più lunghi di 30 caratteri.
in senso più in generale, io intendevo dire che ti serve individuare dove inizia il tag "a" e dove finisce...per poter isolare l'etichetta e fare quello che vuoi tu...
ereg utilizzando le espressioni regolari lo usi per cercare il pattern <a href="qualsiasicosaquaderntro" alt="qualsiasicosa"> di inizio etichetta
e </a> di fine etichetta.
__________________

Desktop: Intel i7-4770K | Asus Gryphon Z87 | Crucial 16GB DDR3 1600MHz | Gigabyte GTX 780 OC Windforce x3 | Samsung 840 Pro 128GB (x 2 RAID0) | be quiet! Straight Power E9 680W CM
Mercatino: bottoni, Dede371, pippokennedy, Bulbi_67, randose, DarkSiDE, davidepaco, _Legend_
Gremo è offline   Rispondi citando il messaggio o parte di esso
Old 18-09-2005, 17:45   #11
firefox88
Senior Member
 
Iscritto dal: Oct 2004
Messaggi: 595
Quote:
Originariamente inviato da Gremo
in senso più in generale, io intendevo dire che ti serve individuare dove inizia il tag "a" e dove finisce...per poter isolare l'etichetta e fare quello che vuoi tu...
ereg utilizzando le espressioni regolari lo usi per cercare il pattern <a href="qualsiasicosaquaderntro" alt="qualsiasicosa"> di inizio etichetta
e </a> di fine etichetta.
Bene.

Ma il link <a href="...">...</a> non esiste, pertanto non mi serve individuarlo.

Io voglio che i link inseriti semplicemente come percorsi (quindi senza <a href=...> e perciò NON cliccabili), vengano trasformati in link veri e propri. E questo sono riuscito a farlo. Tuttavia, qualora il percorso del link superasse i 30 caratteri, desidero non renderlo completamente visibile in tutta la sua spropositata lunghezza, troncandolo e aggiungendo tre puntini alla fine. Esattamente come fa questo forum. E questo NON sono riuscito a farlo.


Chiaro?

Se non cercate di capire, è difficile che mi possiate aiutare.

1) Se sono io che non riesco a farmi capire, ditelo e cercherò di spiegarmi meglio.
2) Se invece sono stato io ad avervi frainteso, vi chiedo gentilmente di esprimervi con maggiore chiarezza.

Grazie.

Ultima modifica di firefox88 : 18-09-2005 alle 17:50.
firefox88 è offline   Rispondi citando il messaggio o parte di esso
Old 18-09-2005, 19:18   #12
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Allora così ?
Codice PHP:
function crea_link($testo) {
        
$testo ereg_replace('http([^\ <>]+)','<a href="http\\1">http\\1</a>',$testo);

        
$testo '<a href="$testo">'substr($testo012) .'......'substr($testostrlen($testo)-12) .'</a>';
       return 
$testo;

cionci è offline   Rispondi citando il messaggio o parte di esso
Old 18-09-2005, 19:46   #13
firefox88
Senior Member
 
Iscritto dal: Oct 2004
Messaggi: 595
Elimino il mio post e mi scuso pubblicamente per quanto scritto. Ho avuto una reazione eccessiva.

Ultima modifica di firefox88 : 18-09-2005 alle 22:36.
firefox88 è offline   Rispondi citando il messaggio o parte di esso
Old 18-09-2005, 19:53   #14
Gremo
Senior Member
 
L'Avatar di Gremo
 
Iscritto dal: Oct 2000
Città: Udine
Messaggi: 3178
io starei un pò più calmo
se la gente ti risponde lo fa senza guadagnarci niente e solo per aiutarti.
se poi siamo in 2 ad aver capito male, il dubbio che possa essere tu quello che non si esprime bene non ti sorge?

buon proseguimento
__________________

Desktop: Intel i7-4770K | Asus Gryphon Z87 | Crucial 16GB DDR3 1600MHz | Gigabyte GTX 780 OC Windforce x3 | Samsung 840 Pro 128GB (x 2 RAID0) | be quiet! Straight Power E9 680W CM
Mercatino: bottoni, Dede371, pippokennedy, Bulbi_67, randose, DarkSiDE, davidepaco, _Legend_
Gremo è offline   Rispondi citando il messaggio o parte di esso
Old 18-09-2005, 19:57   #15
firefox88
Senior Member
 
Iscritto dal: Oct 2004
Messaggi: 595
Elimino il mio post e mi scuso pubblicamente per quanto scritto. Ho avuto una reazione eccessiva.

Ultima modifica di firefox88 : 18-09-2005 alle 22:36.
firefox88 è offline   Rispondi citando il messaggio o parte di esso
Old 18-09-2005, 22:22   #16
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da firefox88
Vediamo se qualcuno prima di rispondere si mette a leggere le cose che ho scritto.
Quote:
Originariamente inviato da firefox88
Io sono calmissimo. E, proprio perché non ricevete alcun compenso,
il vostro tempo mi sta a cuore e mi dispiace che vada perduto
nel dare delle risposte a vanvera. Una risposta come quella di cionci
è la dimostrazione esemplare del fatto che non ha letto nulla.

E comunque mi sembra di essere stato molto chiaro nell'esporre la questione. E sono stanco di ripeterla.
Ma guarda che presuntuoso... Stai tranquillo che di risposte da me non ne riceverai altre...
Se non ti sai spiegare e non sai leggere (prima inffatti ti avevo chiesto cosa ritornavi in $testo) non è colpa mia...
E' la prima volta in anni di forum che uno mi risponde così... Vai...vai pure in un altro forum...almeno ti levi dalle scatole... Addio
cionci è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre Prova GeForce NOW upgrade Blackwell: il cloud ga...
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco Ecovacs Deebot X11 Omnicyclone: niente più...
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio Narwal Flow: con il mocio orizzontale lava i pav...
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi Panasonic 55Z95BEG cala gli assi: pannello Tande...
HONOR Magic V5: il pieghevole ultra sottile e completo! La recensione HONOR Magic V5: il pieghevole ultra sottile e co...
Panico in casa HYTE: ritirato dal mercat...
OPPO Reno14, debutto tra rooftoop esclus...
3DAIQ, il progetto di Concept Reply e TE...
Il parlamento francese contro TikTok: '&...
Apple Watch SE 2ª gen. Cellular a soli 2...
MotoE sospesa dopo il 2025: fine tempora...
GhostRedirector: nuova campagna di attac...
AirPods Pro 3, la nuova traduzione vocal...
Dead Island 3 potrebbe essere già...
Nuova Lancia Ypsilon Rally2 HF Integrale...
Meta e TikTok vincono la sfida legale co...
Silent Hill f: svelato il peso in GB e p...
iPhone 17, Air, 17 Pro e Pro Max: TUTTI ...
YouTube Music mette i testi delle canzon...
Dreame Aqua10 Ultra Roller scende di pre...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 15:36.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v