Ik heb zojuist een template parser die ik van op deze site heb overgenomen geïnstalleerd voor mijn website. Nu als ik bv {content} wil vervangen door een string, dan gaat dit perfect. {menu} echter wil ik vervangen hebben door een andere PHP-file. Dus ik gebruikte
Dat klopt. Het resultaat van include ("menu.php") zal een 1 opleveren als het gelukt is. Beter zo:
$page = str_replace("{menu}", 'include("menu.php")', $page);
Dat heeft met de return value van [php]include[/php] te maken, bekijk de manual maar.
De oplossing kan verschillen zijn, als er geen php het bestand staat, kan je [php]file_get_contents[/php]() gebruiken, anders zou je met ouput buffering kunnen werken.
<?php
ob_start();
include 'menu.php';
$page = str_replace("{menu}", ob_get_clean(), $page);
?>