RegEx: zitierten Text formatieren
Alex
- php
Hallo,
ich bin gerade am Rumprobieren, um eine RegEx zu finden, die zitierten Text so wie hier im Forum formatiert.
Ich habe also meinen Text in der variable $text. Wenn in diesem Text zu Beginn der Zeile "»»" steht soll die zeile in "<span class="zitat">»» Zeile</span>" umgewandelt werden.
Kann mir jemad helfen?
Danke im Voraus und Grüße
Alex
Moin
Ich habe also meinen Text in der variable $text. Wenn in diesem Text zu Beginn der Zeile "»»" steht soll die zeile in "<span class="zitat">»» Zeile</span>" umgewandelt werden.
$text = preg_replace("/^»»\s+(.*)/", "<span class="zitat">\1</span>", trim($text));
Ciao,
Harry
Hallo,
$text = preg_replace("/^»»\s+(.*)/", "<span class="zitat">\1</span>", trim($text));
...hm, das ersetzt nur ein "»»" am Anfang des Textes, oder? Was, wenn in der x. Zeile "»»" steht?
Grüße, Alex
Hallo,
$text = preg_replace("/^»»\s+(.*)/", "<span class="zitat">\1</span>", trim($text));
...hm, das ersetzt nur ein "»»" am Anfang des Textes, oder? Was, wenn in der x. Zeile "»»" steht?
Der ersetzt gar nix ;) Vor dem "s" fehlt nämlich noch's zweiter "" (sch* Anführungszeichen ...)
Du kannst den regulären Ausdruck ja einfach auf jede Zeile anwenden ;)
Ansonsten: "/\n»»\s+(.*)\n/" (oder so ?!)
Ciao,
Harry
Hallo,
OK, "/\n»»\s+(.*)/" scheint alle "»»" an Zeilenanfängen zu finden, nicht aber am Anfang des Textes. Das macht "/^»»\s+(.*)/". Kann man die beiden nun irgendwie zusammenfassen?
Danke & Grüße, Alex
Seasn,
OK, "/\n»»\s+(.*)/" scheint alle "»»" an Zeilenanfängen zu finden, nicht aber am Anfang des Textes. Das macht "/^»»\s+(.*)/". Kann man die beiden nun irgendwie zusammenfassen?
Freilich:
$text = preg_replace("/(^|\n)»»\s+(.*)/", "<span class="zitat">\2</span>", trim($text));
Ciao,
Harry
Hallo,
vielen Dank!
Grüße, Alex