preg_replace: Nur zwischen 2 Tags ersetzen.
Verfasst: 07.02.2008, 17:02
Hi! Stehe gerade bezüglich preg_replace etwas auf dem Schlauch:
Ich möchte gerne in einem HTML-Code alle Leerzeichen durch Komma ersetzen, jedoch nur, wenn der Text in <b>-Tags eingefasst ist:
Dies ist mein Text, und <b>dies hier ist fett</b> - toll nicht?
Soll ergeben:
Dies ist mein Text, und <b>dies,hier,ist,fett</b> - toll nicht?
Wenn ich sowas absetze:
$txt = preg_replace("/<b>(.*)([ ])(.*)\"</b>/sU", "<b>\"$1,$3\">", $txt);
wird natürlich immer nur das ERSTE Leerzeichen ersetzt, und nicht ALLE:
Dies ist mein Text, und <b>dies, hier ist fett</b> - toll nicht?
Wie kriege ich es hin, dass alle ersetzt weden? Ich kann die Abfrage oben natürlich 1000x ausführen, aber das erscheint mir etwas Overkill
Ich möchte gerne in einem HTML-Code alle Leerzeichen durch Komma ersetzen, jedoch nur, wenn der Text in <b>-Tags eingefasst ist:
Dies ist mein Text, und <b>dies hier ist fett</b> - toll nicht?
Soll ergeben:
Dies ist mein Text, und <b>dies,hier,ist,fett</b> - toll nicht?
Wenn ich sowas absetze:
$txt = preg_replace("/<b>(.*)([ ])(.*)\"</b>/sU", "<b>\"$1,$3\">", $txt);
wird natürlich immer nur das ERSTE Leerzeichen ersetzt, und nicht ALLE:
Dies ist mein Text, und <b>dies, hier ist fett</b> - toll nicht?
Wie kriege ich es hin, dass alle ersetzt weden? Ich kann die Abfrage oben natürlich 1000x ausführen, aber das erscheint mir etwas Overkill
