andulus
Erfahrenes Mitglied
Hallo Community!
Ich habe hier einen Template-Parser der Zuerst das Template lädt und nochdazu eine zweite Datei wo der zu ersetzende Inhalt gespeichert ist der {TEXT} ersetzen soll.
Das funktioniert auch einwandfrei. Nur wenn ich ich statt dem {TEXT} keine Dateieinladen (wo nur reiner HTML-CODE) drinnen steht hab ich ein Problem weil mein Script mir dann den Code nur als Text ausgibt! Wie kann ich das anstellen, dass ich auch ein PHP-Script einladen kann und dieses dann an der Stelle {TEXT} platzieren kann?
Hier ist mein Script. Schonmal danke im Vorraus!
Der Klasse Parser:
Das Script dass der Klasse später alles weitere mitteilt (das Ausgabescript):
lg Andulus
Ich habe hier einen Template-Parser der Zuerst das Template lädt und nochdazu eine zweite Datei wo der zu ersetzende Inhalt gespeichert ist der {TEXT} ersetzen soll.
Das funktioniert auch einwandfrei. Nur wenn ich ich statt dem {TEXT} keine Dateieinladen (wo nur reiner HTML-CODE) drinnen steht hab ich ein Problem weil mein Script mir dann den Code nur als Text ausgibt! Wie kann ich das anstellen, dass ich auch ein PHP-Script einladen kann und dieses dann an der Stelle {TEXT} platzieren kann?
Hier ist mein Script. Schonmal danke im Vorraus!
Der Klasse Parser:
PHP:
class parser
{
var $template;
var $temp_content;
var $file;
var $var;
function parser($template, $var_array, $file, $var) {
$this->var = $var;
$this->template = $template;
$this->temp_content = file($this->template);
$this->file = file($file);
$this->set_file($this->file, $this->var);
$parsed = $this->rplc($var_array);
echo implode("", $this->temp_content);
}
function rplc($var_array) {
foreach($var_array as $key => $value)
{
$regex['var_name'] = "{".strtoupper($key)."}";
$this->temp_content = preg_replace($regex['var_name'], $value, $this->temp_content);
$this->temp_content = str_replace("{", "", $this->temp_content);
$this->temp_content = str_replace("}", "", $this->temp_content);
}
}
function set_file($file, $var) {
$this->temp_content = str_replace($this->var, implode($this->file), $this->temp_content);
echo $this->temp_content;
}
}
PHP:
<?
session_start();
include('php/functions.php');
$template = 'tpl/tpl_3.tpl';
$title = "Naruto4all";
$var_array = array("TITLE" => $title);
$set_file = "tpl/news_edit.tpl";
$file_replace = "TEXT";
$tpl = new parser($template, $var_array, $set_file, $file_replace);
?>