tempparser Prob

Noch ein problem......der code wird zwar includet...also geladen.....aber es wird nichts ersetzt .....sprich die platzhalter bleiben erhalten......auch der code der html-datei wird doppelt ausgegeben...

MFG Niels
 
dein Array sieht ja so aus:
showtpl("index", array("title" => "Moinsen"));

also "title"=>"Moinsen"
es muss deinem parser zufolge so aussehen:

"{title}"=>"Mainsen"

also:

showtpl("index", array("{title]" => "Moinsen"));
 
Das kann aber net stimmen.....denn das ganze geht ja wie folgt:

foreach($array as $inhalt => $code)
----> Das sagt an das, $inhalt den inhalt des arrays als code includet

{
$template .= str_replace("{".$inhalt."}", $code, $template);
}
------> und das sagt wiederrum an, dass der inhalt in {} steht....also muss im array das {} nicht mit angegeben werden...

MFG Niels
 
So einen Fehler habe ich schon gefunden,
es darf kein "." hinter dem "$template" stehn, denn das würde die variablen ja aneinander ketten.
Sprich die html-datei würde 2-3 mal aufgerufen.....

So das habe ich nun geändert und die html Datei wird nur noch einmal aufgerufen....


Das einzige prob was bleibt.....das ersetzen der Platzhalter funktioniert nicht:

PHP:
foreach($array as $inhalt => $code)
    {
        $template = str_replace("[".$inhalt."]", $code, $template);
    }
Dadurch sollten die Platzhalter....z.b. [Title] durch das ersetzt werden was im array übergeben wird.

Z.B.: echo showtpl("index", array("Title" => "Hier steht der Titel der Seite"));
Also müsste [Title] ja eigentlich durch "Hier steht der titel der Seite" ersetzt werden, aber es wird nichts ersetzt :(

MFG Niels
 
So nun funktioniert es.....habe:
PHP:
"{".$inhalt."}"
durch
PHP:
"[".$inhalt."]"
ersetzt.....vielleicht gab es da Probs....aber nun funktioniert es :)

MFG Niels
 
Zurück