Non ho voglia di cimentarmi nelle espressioni regolari, che conosco ma che temo :mad:
Qualcuno mi può dare il codice per sostituire in un testo tutte le immagini (tag immagine aperto e chiuso), e lo stesso per i link
Printable View
Non ho voglia di cimentarmi nelle espressioni regolari, che conosco ma che temo :mad:
Qualcuno mi può dare il codice per sostituire in un testo tutte le immagini (tag immagine aperto e chiuso), e lo stesso per i link
Intendi fare una cosa stile bbcode?
Oppure riconoscere un url?Codice PHP:
$txt = preg_replace( "#\[img\]((http://|www.|ftp.)[\w\#$%&~/.\-;:=,?@\[\]+]*?)\[\/img\]#is", "<img src=\"\\1\" border=\"0\">", $txt);
//E per i link
$txt = preg_replace( "#\[url\]((www.|ftp.)[\w\#$%&~/.\-;:=,?@\[\]+]*?)\[/url\]#is", "<a href=\"http://\\1\" target=\"_blank\">\\1</a>", $txt);
Codice PHP:
$txt = preg_replace("#(^|[\n ])((http://|www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a href=\"http://\\2\" target=\"_blank\">\\2</a>", $txt);
Qualcosa di più semplice,
Se trova un "<img src=...>" lo sostituisce in "[immagine]" così come l'ho scritto.
Se trova "<a href=...>TestoLink</a>" lo sostituisce in "[TestoLink]"
probabilmente quacosa del genere
<img [^>]*?>
<a [^>]*?>.*?</a>
Andrebbero bene queste?
prova cosi...Codice PHP:
$testo = preg_replace("#<img .*?>#is", '[IMMAGINE]', $testo);
$testo = preg_replace("#<a .*?>(.*?)<\/a>#is", "$1", $testo);
Grazie, dopo provo.
Cmq a cosa serve il cancelletto # e #is?
Scusa se ti correggo ma la funzione è preg_replace e non perg_replace: errore di battitura.Citazione:
Originalmente inviato da jostock
sorry, ho corretto!
Il cancelletto indica inizio e fine dell'espressione, i che deve essere insensibile alle maiuscole e s che riconosca anche stringhe che si articolano su più righe.