Generare automaticamente links...

  • Creatore Discussione Creatore Discussione elios82
  • Data di inizio Data di inizio

elios82

Nuovo Utente
26 Giu 2007
5
0
0
Salve a tutti,
ho realizzato un Guestbook in php, mysql e CSS e tutto va molto bene, solo che volevo realizzare una piccola chicca....

Vorrei che, quando un utente scrive un messaggio, e nel suo messaggio fa riferimento ad un link, cioè scrive qualcosa tipo:

http://www.nomedominio.it/cartella/file...

nella pagina di lettura del messaggio, quel suo riferimento venga trasformato in un link cliccabile, tipo:

<a href="http://www.nomedominio.it/cartella/file..." target="_self">http://www.nomedominio.it/cartella/file...</a>

Proprio come succede in questo FORUM, tra l'altro con il finto link che ho messo io.
Credo che qui venga utilizzato bbcode, se non volessi usarlo c'e' qualche alternativa? Altrimenti ditemi come posso implementare bbcode per il mio guestbook, anche se mi rimandate ad una guida online...


Non credo sia una cosa molto difficile da realizzare, no?
GRAZIE A TUTTI

buona giornata
 
Ultima modifica:
Esatto...

Si, è vero...

in effetti str_replace() è una funzione che potrebbe fare al caso mio... lo avevo immaginato...

pero' questa funzione sostituisce una stringa già stabilita, faccio un esempio per chiarire il mio concetto:

es.
Se volessi fare in modo da visualizzare degli smiles al posto di un testo scritto dall'utente tipo {(-:} allora farei:

str_replace("<img src="cartella/immagini/smile.gif"","(-:");

Ecco, in questo caso parto da un testo già stabilito da sostituire... ma nel caso di un link? Non credo sia proprio la stessa cosa, no? Magari dovrei, chesso', una variabile che indica il link... bo'....

:dormo:
 
Esatto, passi il link come una variabile e lo sostituisci ad una stringa tipo:

PHP:
"<a href=\"".$var."\" target=\"_self\">".$var."</a>"
 
... ho risolto in questo modo

Grazie eliox per i tuoi preziosi consigli ma ho risolto in questo modo (dopo averci perso un bel po' di tempo dietro... :rolleyes:)

ho usato le espressioni regolari in php per confrontare url e link ed ho fatto riferimento alla funzione ereg_replace()

ti posto il codice:
PHP:
$stringa_da_ottenere = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]","<a href=\"\\0\">\\0</a>", $stringa_da_sostituire);

L'ho provato e funziona... se magari volete mettere la discussione tra quelle risolte magari può essere d'aiuto a qualcuno...


ciao e grazie :jolly:
 
Ultima modifica:

Discussioni simili