Ik ben voor een studieopdracht bezig met het maken van een eenvoudig templatesysteem.
Hierbij wordt een HTML-bestand ingelezen door PHP en via preg_replace_callback worden de ###tags### en ***tags*** gefilterd en omgezet in een andere waarde, waarbij de ###tags### een gewone tekst bevatten, maar ***tags*** een module in moeten inladen.
Nu loop ik tegen het probleem aan dat wanneer ik via een preg_replace_callback een PHP-pagina probeer te includen, de inhoud bovenaan de pagina komt te staan, zoals in het voorbeeld hieronder.
<?
echo "Dit is inhoud uit het PHP-bestand";
?>
<!doctype html ...>
<html>
...
</html>
De bedoeling is:
<!doctype html ...>
<html>
<head>
...
</head>
<body>
...
<?
echo "Dit is inhoud uit het PHP-bestand";
?>
</body>
</html>
Ik heb al geprobeerd om via een virtual include een PHP-pagina in te voegen, maar ook dit doet hij niet.
<!--#include virtual="modules/nieuws.php"-->
Weet iemand hoe ik toch ervoor kan zorgen dat ik de PHP-inhoud op de plaats van ***tags*** kan laten verschijnen in de template?
PHP-code: http://plaatscode.be/141892/
Template-code: http://plaatscode.be/141893/
Wachtwoord: phphulp
In bovenstaande code stond de volgende code voordat ik het met file_get_contents uitprobeerde:
if($res['type']==3){
return include($res['replace']);
}
Met file_get_contents werd de code als "platte" tekst weergeven, maar de bedoeling is dat de include op de plaats van de tag als PHP-code wordt uitgevoerd.