Kalma
Erfahrenes Mitglied
Hey,
ein kleines Problem mit str_replace.
Also, hier mein Script:
Bei der letzten Funktion (assign) liegt das Problem. Ich will die angegebene Datei nach %key% Value durchsuchen lassen und durch den Wert (value) ersetzen lassen. Aber der macht das nicht. Die Datei heißt in diesem Falle index.tpl und sieht so aus:
Dann ist hier noch die index.php, in der das assign ausgeführt wird:
Wisst ihr, woran das liegt?
ein kleines Problem mit str_replace.

Also, hier mein Script:
PHP:
<?php
class Template
{
//define vars
var $template_path = 'templates/';
var $template_vars = array();
var $template_file;
//function to display files/templates
function display($tpl_file)
{
//check, if file exists
if(!is_file($this->template_path . $tpl_file)) {
exit('no such template file: '.$tpl_file);
}
$this->template_file = $tpl_file;
//include file
include($this->template_path . $tpl_file);
}
//function to set content for place holder
function assign($key, $value)
{
str_replace('%'.$key.'%', $value, $this->template_path . $this->template_file);
}
}
?>
Bei der letzten Funktion (assign) liegt das Problem. Ich will die angegebene Datei nach %key% Value durchsuchen lassen und durch den Wert (value) ersetzen lassen. Aber der macht das nicht. Die Datei heißt in diesem Falle index.tpl und sieht so aus:
HTML:
<!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=iso-8859-1" />
<title>Fußball Manager</title>
</head>
<body>
<h1>%heading%</h1>
TeMpLaTe SyStEm
</body>
</html>
Dann ist hier noch die index.php, in der das assign ausgeführt wird:
PHP:
<?php
//Template laden
include 'template.inc.php';
$tpl = new Template;
$tpl->assign('heading', 'Hey, Fette Sache');
$tpl->display('index.tpl');
?>
Wisst ihr, woran das liegt?