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!