PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ganz einfache regex... *argh*



devil2k6
11.09.2006, 23:55
Hi,
irgendwie habe ich gerade ne Denksperre. :mauer:
Versuche gerade, einen regulären Ausdruck zu basteln, der aus [[bla_blubb]] -> [[bla blubb]] macht, also preg_replace. Meine einzige Idee ist, [[bla_blubb]] mit Sonderzeichen oder so manuell zu maskieren (__[[bla_blubb]]__) und dann mit str_replace und explode usw... aber das geht doch sicher auch "schöner"?!

Vielen Dank schonmal für eure Hilfe! :)

devil2k6
12.09.2006, 22:20
Kann mir keiner von euch helfen? Naja, dann werd ich wohl dies mit dem Maskieren machen....

PS: Wieso funktioniert das eigentlich nicht?

echo preg_replace("/\[\[(.*_.*)\]\]/i","[[".str_replace('_','',"$1")."]]","das is s bla [[bla_blubb]] blubb.");



edit:
Schließlich doch ne Lösung gefunden (geht davon aus, dass $edit nicht mit [[ oder ]] anfängt): :D

$edit = "Und hier ein [[Text]] mit \n ganz komplizierten 'Sachen'. \n das is [[die_weltstadt_bla]] s bla [[XD|T]] blubb.";
$split = preg_split("/(\[\[|\]\])/",$edit,-1,PREG_SPLIT_DELIM_CAPTURE);
for($i = 2;$i <= count($split);$i = $i+4) {
$split[$i] = str_replace("_"," ",$split[$i]);
}
echo join($split);