Also ich habe einen eigenen Template Parser. Ich wollte nun einen eval-Platzhalter einbauen. Also {eval:datei.php}. Das funktioniert ja auch mit dem eval, nur steht der Inhalt der datei.php (ausgeführt) nicht da, wo der Platzhalter steht sondern am Anfang der Ausgabe. Hier mal der Code des Parsers wo das ganze gemacht wird:
$output ist der Inhalt des (HTML-)Templates... Wie bekomm ichs hin, dass die ge-eval-te Datei da steht wo auch im (HTML-)Template der Platzhalter steht?
-----------
Nun hab ichs mal so probiert aber ohne erfolg aber nah dran ^^
wenn ich das so mache, geht das nur dann gut, wenn ich nur ein eval-Platzhalter in meinen Templates hab :!
Code:
$output = preg_replace_callback('/{eval:(\S+)}/si', create_function('$file', 'ob_start(); include($file[1]); eval(ob_get_clean());'), $output);
-----------
Nun hab ichs mal so probiert aber ohne erfolg aber nah dran ^^
Code:
$output = preg_replace_callback('/{eval:(\S+)}/si', create_function('$file', 'ob_start(); include($file[1]); eval(ob_get_clean()); return ob_get_clean();'), $output);
Kommentar