preg_replace ersetzt alles nur 1x
Mortimer
- php
Hi
Irgendwie ersetzt mein preg_replace alle ausfürhungen nur 1x =/
So ersetzt er im Text nur jedesmal das erste mal eine Adresse zu einem Link...
$text = preg_replace('"(( |^)((ftp|http|https){1}://)[-a-zA-Z0-9@:%_+.~#?&//=]+)"i','<a href="\1" target="_blank">\1</a>', $text);
$text = preg_replace('"( |^)(www.[-a-zA-Z0-9@:%_+.~#?&//=]+)"i','\1<a href="http://\2" target="_blank">\2</a>', $text);
Bei Zitatetn verhält er sich genauso.... =/
$text = preg_replace("/[quote](.*?)[/quote]/si",$header_quote.'\1'.$footer_quote, $text);
$text = preg_replace("/[quote=(.*?)](.*?)[/quote]/si",'Von: \1'.$header_quote.'\2'.$footer_quote, $text);
Sind da Fehler in den ausfürhungen selber?
ciao
Hallo Mortimer.
Irgendwie ersetzt mein preg_replace alle ausfürhungen nur 1x =/
Hm, schon mal den g-Modifier ausprobiert?
Freundschaft!
Siechfred
Hm, schon mal den g-Modifier ausprobiert?
Was soll das sein/wo bekomme ich den/wie setz ich den ein ? =)
ciao
Hallo Mortimer.
Was soll das sein/wo bekomme ich den/wie setz ich den ein ? =)
Zum g-Modifier (und auch sonst sehr lesenswert):
http://www.rrz.uni-hamburg.de/RRZ/W.Wiedl/Skripte/CGI-Perl/Regulaere_Ausdruecke/REMatch.htm#3.2
Einfaches Beispiel:
$text = "Willi ist witzig";
$muster_1 = "/i/";
$muster_2 = "/i/g";
$ers = "a";
echo preg_replace($muster_1, $ers, $text); // "Walli ist witzig"
echo preg_replace($muster_2, $ers, $text); // "Walla ast watzag"
Freundschaft!
Siechfred