Schänk
Mitglied
Moin zusammen
Ich hab vorher das Forum durchsucht und zu diesem Problem leider keine passende Lösung gefunden.
Ich möchte mit eval(); HTML Code ausgeben, welcher PHP Code enthält. Sollte mit dieser Funktion eigentlich kein Problem sein. Nur gibt mir der Browser solche Fehler aus:
Parse error: parse error, unexpected '<' in c:\apache\htdocs\sardastisch\index.php(17) : eval()'d code on line 1
Parse error: parse error, unexpected '<' in c:\apache\htdocs\sardastisch\index.php(17) : eval()'d code on line 1
Parse error: parse error, unexpected '<' in c:\apache\htdocs\sardastisch\index.php(17) : eval()'d code on line 1
Parse error: parse error, unexpected '<' in c:\apache\htdocs\sardastisch\index.php(17) : eval()'d code on line 1
usw....
Hier erfolgt die Ausgabe mit dem Funktionsaufruf
Und hier die Klassenfunktion
Funktioniert soweit alles wunderbar. Wenn ich den Code per echo ausgebe zeigtes mir im Quelltext im Browser den PHP Code richtig an. Mit eval(); wollte ich diesen nun einfach umwandeln, aber nix gewesen
Hat hier jemand nen Rat?
Ich hab vorher das Forum durchsucht und zu diesem Problem leider keine passende Lösung gefunden.
Ich möchte mit eval(); HTML Code ausgeben, welcher PHP Code enthält. Sollte mit dieser Funktion eigentlich kein Problem sein. Nur gibt mir der Browser solche Fehler aus:
Parse error: parse error, unexpected '<' in c:\apache\htdocs\sardastisch\index.php(17) : eval()'d code on line 1
Parse error: parse error, unexpected '<' in c:\apache\htdocs\sardastisch\index.php(17) : eval()'d code on line 1
Parse error: parse error, unexpected '<' in c:\apache\htdocs\sardastisch\index.php(17) : eval()'d code on line 1
Parse error: parse error, unexpected '<' in c:\apache\htdocs\sardastisch\index.php(17) : eval()'d code on line 1
usw....
Hier erfolgt die Ausgabe mit dem Funktionsaufruf
HTML:
foreach($template->fillTemplate($showTemplate) as $value) {
$stringSearch = array("<",">",""","amp;");
$stringSet = array("<",">","'","");
for($x=0;$x<4;$x++) {
$templateAusgabe = str_replace($stringSearch,$stringSet,$value);
}
eval($templateAusgabe);
}
Und hier die Klassenfunktion
HTML:
<?php
class template {
var $sql;
var $templateAusgabe;
function template(&$SQL, $ausgabe) {
$this->sql = &$SQL;
$this->templateAusgabe = $ausgabe;
}
function loadTemplate($templateName) {
$fileInhalt = file("templates/".$templateName.".php");
return $fileInhalt;
}
function fillTemplate($fileInhalt) {
$count = count($fileInhalt);
for($x=0;$x<$count;$x++) {
$templateInhalt = htmlspecialchars($fileInhalt[$x]);
if(eregi("###(.*)###",$templateInhalt,$reg) == true) {
$queryPlaceholder = "SELECT placeholderOutput FROM placeholder ";
$queryPlaceholder.= "WHERE placeholderName='".$reg[0]."'";
$this->sql->query($queryPlaceholder);
$showOutput = $this->sql->fetcharray();
$templatePlaceholder = ereg_replace($reg[0],$showOutput['placeholderOutput'],$templateInhalt);
$this->templateAusgabe[$x] = $templatePlaceholder;
}
else {
$this->templateAusgabe[$x] = $templateInhalt;
}
}
return $this->templateAusgabe;
}
}
?>
Funktioniert soweit alles wunderbar. Wenn ich den Code per echo ausgebe zeigtes mir im Quelltext im Browser den PHP Code richtig an. Mit eval(); wollte ich diesen nun einfach umwandeln, aber nix gewesen
Hat hier jemand nen Rat?
Zuletzt bearbeitet: