Felix Riesterer: In Template-generierter Seite inkludierten Code ausführen

Beitrag lesen

Lieber Norbert,

Gibt es eine einfache Lösung für das Problem, ohne eine richtige Template-Maschine einsetzen zu müssen?

Du kannst Dir Deine eigene "richtige" Template-Maschine bauen, die extrem simpel aufgebaut ist.

Schreibe Dein Formular doch so:

<body>....  
<!-- tpl:formular -->  
...</body>

Du kannst dann anstatt gleich mit <?php echo $seite ?> (verwende unbedingt die Langform, sonst gibt's Ärger mit "<?xml"!) Deine Seite auszugeben zuerst auf ein Vorhandensein des HTML-Kommentars prüfen, um dann diesen mit echtem HTML-Code zu ersetzen.

Sollte eine Seite kein Formular benötigen, kannst Du entweder den HTML-Kommentar belassen (er bewirkt im Browser ja nichts), oder Du kannst ihn vor der Ausgabe entfernen, da Dein Script ihn in jedem Falle ersetzt, falls nicht benötigt eben mit einem Leerstring... Das könnte dann so aussehen:

<?php  
  
$seite = file_get_contents('/tpl/index.tpl');  
  
include '/tpl/tpl.php'; // was passiert hier eigentlich???  
  
$formular = ''; // leer für "nicht benötigt"  
// jetzt kannst Du im Bedarfsfalle Dein Formular erstellen und den HTML-Code in $formular ablegen.  
  
// Formular-Kommentar löschen bzw. mit echtem HTML-Code ersetzen:  
$seite = str_replace ('<!-- tpl:formular -->', $formular, $seite);  
  
echo $seite; // kompletten HTML-Code an Browser schicken  
  
// Script-Ende  
?>

Liebe Grüße aus Ellwangen,

Felix Riesterer.

--
ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)