Mailinglisten-Archive |
Hallo,
ich habe mal wieder ein Problem mit diesen verflixten regulären
Ausdrücken ;-).
Als Template-Engine für mein weblog verwende ich smarty. nun habe ich das
Problem, dass der WYSIWYG-Editor (htmlarea) Absätze in <p></p> einschließt,
allerdings nur, wenn der Artikel auch Absätze enthält. Das bereitet mir
erhebliche Schwierigkeiten in meinem Template, weil der Artikeltext eben
nicht grundsätzlich in einem Absatz eingeschlossen ist. Wenn ich die p-Tags
in meinem Template "hardcode" dann bekomme ich teilweise kaskadierte
Absätze, was ja nicht erlaubt ist. Smarty enthält eine Funktion
(regex_replace), die der preg_replace()-Syntax folgt.
Ich benötige einen regulären Ausdruck, mit dem ich am Anfang und am Ende
eines Strings, der Zeilenumbrüche enthalten kann, jeweils <p> bzw. </p>
entfernen kann. Mein Versuch funktioniert leider überhaupt nicht (soll
heißen, der String bleibt wie er ist):
Smarty: {$post->getText()|regex_replace:"/(^<p>) (.*) (</p>$)/":"\$2"}
sollte eigentlich
preg_replace( "/(^<p>) (.*) (</p>$)/", "\$2",$string);
entsprechen.
Gruß Volker
--
Save energy: be apathetic.
.:: virtuatron::weblog | http://www.virtuatron.de ::.
php::bar PHP Wiki - Listenarchive