Beatkiller
20-07-2005, 20:58
Hallöle, nachdem es hier einige sehr gute Coder gibt, ist dies wiederum eine Anlauf-Stelle für mich.
Ich habe wieder ein ähnliches Problem. Diesmal möchte ich mit etwas bb-Code arbeiten:
$alter_text = "Ein Bild http://bla.de/blub.jpg mittem im Text";
Gut, ich habe eine Regex, mit dem ich das aus Texten extrahieren kann:
$pattern = "=\[img\](.*)\[/img\]=";
Nun habe ich also, nachdem ich es durch preg_match() gejagt habe, in meinem Treffer-Array 2 Elemente. In $treffer[0] steht meine Kette mit dem BB-Code und die URL des Bildes in $treffer[1].
Mein Problem ist nun, dass der BBCode nicht durch eine abgewandelte Zeichenkette ausgetauscht wird. Beispiel:
$suchmuster = $treffer[0];
$ersetzung = "<img src=\"" . $treffer[1] . "\" alt=\"blub\" />";
$neuer_text = preg_replace($suchmuster, $ersetzung, $alter_text);
Anscheinend wird $suchmuster nicht gefunden. Denn der neue Text ist genauso wie der alte Text.
Wo liegt mein Fehler, ich such schon ein Weilchen. Danke für Tipps
der nervende
Beat
Ich habe wieder ein ähnliches Problem. Diesmal möchte ich mit etwas bb-Code arbeiten:
$alter_text = "Ein Bild http://bla.de/blub.jpg mittem im Text";
Gut, ich habe eine Regex, mit dem ich das aus Texten extrahieren kann:
$pattern = "=\[img\](.*)\[/img\]=";
Nun habe ich also, nachdem ich es durch preg_match() gejagt habe, in meinem Treffer-Array 2 Elemente. In $treffer[0] steht meine Kette mit dem BB-Code und die URL des Bildes in $treffer[1].
Mein Problem ist nun, dass der BBCode nicht durch eine abgewandelte Zeichenkette ausgetauscht wird. Beispiel:
$suchmuster = $treffer[0];
$ersetzung = "<img src=\"" . $treffer[1] . "\" alt=\"blub\" />";
$neuer_text = preg_replace($suchmuster, $ersetzung, $alter_text);
Anscheinend wird $suchmuster nicht gefunden. Denn der neue Text ist genauso wie der alte Text.
Wo liegt mein Fehler, ich such schon ein Weilchen. Danke für Tipps
der nervende
Beat