Habe jetzt eine eigene Template-Klasse entworfen. Im Gegensatz zu euren komplexen Rechnungen habe ich das gleiche mit nur wenigen Schritten hinbekommen.
Code: Alles auswählen
<?php
/**
*
*author: Jim Martens
*
*Erstellung einer Template-Klasse
*/
class template
{
public function replace($templates)
{
global $templates;
$templates = str_replace('ä', "ä", $templates);
$templates = str_replace('ü', "ü", $templates);
$templates = str_replace('ö', "ö", $templates);
$templates = str_replace('Ä', "Ä", $templates);
$templates = str_replace('Ü', "Ü", $templates);
$templates = str_replace('Ö', "Ö", $templates);
$templates = str_replace('ß', "ß", $templates);
return $templates;
}
public function get($filename)
{
$tmprslt = file($filename);
$tmprslt = implode($tmprslt);
return $tmprslt;
}
public function set_filename($template_file)
{
global $root;
$root = $template_file;
$templates = $this->get($root);
return $templates;
}
public function assign_var($var, $change)
{
global $templates;
$templates = str_replace('{' . "$var" . '}', $change, $templates);
return $templates;
}
}
?>
Ich denke, dass ist eine akzeptable Lösung. In der Datei, in der man dann den Code verwenden möchte, sieht das so aus:
Code: Alles auswählen
$template_file = 'Geschichte.html';
$templates = $template->set_filename($template_file);
Oben kommt das hier hin.
Unten, nach der Definition der Variablen, dem ganzen Inhalt, etc, kommt dann das hier:
Code: Alles auswählen
$var = 'TEXT';
$templates = $template->assign_var($var ,$text);
$templates = $template->replace($templates);
echo stripslashes($templates);
?>
So gibt man den Platzhalter ein und zuvor, im Contentbereich, habe ich die Variable $text definiert. Links kommt der Platzhalter rein, also: 'TEXT', rechts kommt wie gesagt die Variable rein, mit der es ersetzt werden soll. Bis jetzt habe ich das ganze nur für einen Platzhalter, werde aber mal schauen, wie ich es für mehrere auch noch hinbekomme. Der Code ist frei, jeder kann ihn also benutzen.