Mailinglisten-Archive |
On Mon, Sep 18, 2000 at 08:53:34PM +0200, Thomas Feyrer wrote: > At 13:50 18.09.2000 +0200, Dominik Brumm wrote: [...] > OK... war mal wieder ne schöne Lernaufgabe für mich, hat ne halbe Stunde > gebraucht, bis ich das Ziel erreicht hatte ;) > > Die Klasse in der angehängten Datei, schafft genau das was du willst, > und das im Grunde durch EINE einzige Zeile: > preg_replace('/{%([^%]*)%}/e', 'eval("return > \$this->VARS[\"".implode("\"][\"", explode(".", "\\1"))."\"];");', $string); > > ... schön ... ;) > > Die Variable $string, die du der Funktion parse_string($string) übergibst, > muss einfach den Kompletten Inhalt der Template-Datei enthalten, incl. > Zeilenumbrüchen... (ausser du hast mehrere Templates innerhalb einer Datei) > Läuft wunderbar unter PHP4/Win98 > > Wenn ich es erklären soll, sagt es. Freiwillig mach ich das jetzt > im Moment nicht... Wär mehr arbeit als das coden ;) Oder gleich zum Patent anmelden? > PS: Ich muss zugeben, ich war mal bei Perl... da schafft man ja > bekanntlich alles innerhalb einer Zeile... Ich versuche das > in PHP auch immer so zu machen ;) Da war ich auchmal, da hab ich die regulären Ausdrücke auch immer vermieden wie die Pest. > PPS: Waren die Guru's hier auf der Liste zu faul, diese Problem auszutüfteln? Guru's? Die machen doch nur Open Source Software. Da ist doch jeder mit anderen Dingen beschäftigt als mit dem lösen von Hausaufgaben. -Egon PS: Ist hier einer im efnet oder wie das heisst und hat einen richtigen Guru dran, toye.php.net auf dem cvs.php.net läuft, ist schon wieder ausgestiegen. -- http://www.linuxtag.de/ http://php.net/books.php http://www.concert-band.de/
php::bar PHP Wiki - Listenarchive