- Home
- Categorie
- Coding e Sistemistica
- PHP
- Preg_replace
-
Preg_replace
Ci sono 2 cose che non capirò mai: le donne e il preg_replace!!!
Avrei bisogno di una funzione che passatogli un testo mi converta i link in esso contenuti in link html. Ho trovato tanti script in giro per il web che sfruttano il preg_replace, ma io avrei la necessità di convertire solo i link il cui dominio è del tipo www.QUALSIASICOSA.fan-club.it
Per intenderci, vorrei che nel mio network di siti sia permessa la pubblicità nei guestbook solo dei siti del network e non di altri esterni...
-
prova con:
$testo = ereg_replace("www+[^<>[:space:]]+[[:alnum:]/].fan-club.it","<a href="\0">\0</a>", $testo);
-
Grande Ayrton.
Unica cosa, l'ho corretto così perchè altrimenti non funzionvava il link
[html]$text = ereg_replace("www+[^<>[:space:]]+[[:alnum:]/].fan-club.it","<a href="http://\0" target=_blank>\0</a>", $text);[/html]
E se volessi che venissero convertiti anche gli indirizzi del tipo http://www.QUALSIASICOSA.fan-club.it? Ho provato a mettere prima di quella istruzione questa, ma giustamente non funziona, perchè mi converte 2 volte il www
[html]
$testo = ereg_replace("http://www+[^<>[:space:]]+[[:alnum:]/].fan-club.it","<a href="http://\0">\0</a>", $testo );[/html]
-
Semplice, inverti l'ordine.
-
Eh no, perchè comunque invertendo l'ordine la prima istruzione mi convertirebbe [URL="http://www.QUALSIASICOSA.fan-club.it"]www.QUALSIASICOSA.fan-club.it in
[html]<a href="http://www.QUALSIASICOSA.fan-club.it">www.QUALSIASICOSA.fan-club.it</a>
[/html]
e la seconda convertirebbe di nuovo quello che c'è in href, rovinando tutto.Ho risolto brutalmente così:
[html]
$text = str_replace("http://","",$text);
$text = ereg_replace("www+[^<>[:space:]]+[[:alnum:]/].fan-club.it","<a href="http://\0" target=_blank>\0</a>", $text);
[/html]
-
hai ragione