Hi Christoph,
Da steht {$zitat|regex_replace:"/(\r\n|\n|\r)/":"<br>"} - was aber nur gemeinsam mit nl2br Sinn macht.
Guck dir doch mal den Regulären Ausdruck genau an ;-) Der ersetzt nicht <br /> durch <br> sondern direkt die Zeilenumbrüche durch <br>. Ein nl2br wäre hier also absolut fehl am Platz und würde doppelte Zeilenumbrüche <br /><br> erwirken.
Außerdem fehlt noch ein escape (wenn im Template) oder ein htmlspecialchars (wenn in Templates.class.php).
Ein escape mit einzubauen wäre ja leicht: {$zitat|escape|regex_replace:"/(\r\n|\n|\r)/":"<br>"}
Ich glaube aber, ihr solltet euch mal intern klar einigen, wie die Bearbeitung von Variablen vorgenommen werden soll - wenn der eine das im PHP-Script macht und der andere im Template kommt am Ende Murks bei raus!
Es gibt genau zwei Möglichkeiten: Entweder macht ihr alles im PHP-Script und gebt somit die fertigen HTML-Teile an Smarty oder ihr gebt immer die Rohdaten an Smarty. Ich würde letzteres empfehlen, da bei ersterem irgendwie die Template Engine für die Katz ist - Ziel ist es doch, das Programmieren und "Templater" (also Template-Designer *g*) unabhängig voneinander arbeiten können.
MfG, Dennis.
Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:| mo:} zu:|
Patch zur Verwendung von PATHINFO in JLog
Berater sind Leute die dir deine Uhr wegnehmen, damit sie dir anschließend sagen können wie spät das es ist! (Aus einem Kabarett)