Inno: Template richtig parsen

Beitrag lesen

Argh...
tut mir leid, dass ich euch wieder belästigen muss,
aber iwie drehe ich mich im kreis:

Wenn ich include in der Klasse, wird nicht str_replaced
und wenn ich file_get_contents anwende, wird php nichtmehr ausgegeben, obwohl eines eval()s.
Hinzu kommt der Parse error:
Parse error: syntax error, unexpected '<' in /www/htdocs/w008dc4e/web720/system/template.php(16) : eval()'d code on line 2

Ich weiß jetzt überhaupt nichtmehr weiter,
daher kann ich nur noch auf euch hoffen:

Meine Klasse:
<?php
class Template {
  var $template;

function parse_template($name){
          $this->template = file_get_contents('./templates/'.$name.'.php');

$search = array('text' => 'Textdeslanguagefile','Register' => 'Registrieren');
          foreach($search as $key => $value)
          {
                 $this->template = str_replace('<#lng_'.$key.'#>', $value, $this->template);
          }
    $search = array('<$', '#var>');
          $replace = array('<?php echo', ';?>');
          $this->template = str_replace($search, $replace, $this->template);
       eval ("$this->template = "$this->template";");
    echo $this->template;
  }
}
?>

In der PHP der Aufruf:

Templatesystem

include('../system/template.php');
  $template = new Template;

$template->parse_template('head');

Das Template:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="author" content="InnoVision" />
 ...... etc. ....
</head>
<body>
<#lng_text#>
<?$_SERVER["HTTP_ACCEPT_LANGUAGE"]#var>

<?php
echo 'zrdz';
?>

Wie ihr seht hab ich in die Klasse für mich eine HTML-Klasse für Variablenausgabe erstellt.

Ich hoffe ihr könnt mir helfen!