kann mir jemand vllt. erklären, wieso meine ersetzung der Platzhalter nicht funktioniert?
Folgender Code:
Code: Alles auswählen
public function display($template)
{
$code = file_get_contents($template);
$code = str_replace('\\', '\\\\', $code);
$code = str_replace('\'', '\\\'', $code);
$code = preg_replace('#\{([a-z0-9\-_]*?)\}#is', 'isset($this->assigns[\'\1\']) ? $this->assigns[\'\1\'] : \'\';', $code);
eval('echo "$code";');
print_r($code);
return true;
}
Das template wird ausgegeben aber nix geparst. Die folgende ausgabe erscheint in meinem template. im template ist folgender platzhalter: {test} der auch zugewiesen ist in: $assigns als $assigns['test'] = 'test' aber er ersetzt mir das iim template nicht sondern gibt mir die komische fehlerausgabe. Hoffe ihr versteht mich und könnt mir weiterhelfen.
Code: Alles auswählen
isset($this->assigns['test']) ? $this->assigns['test'] : ''; isset($this->assigns['test']) ? $this->assigns['test'] : '';