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