Io farei in un'altro modo usando heredoc ed inserendo tutto in funzioni e richiamandole dove mi servono, può essere un pò complicato, ma puoi cambiare tutto con molta facilità.
Es.
crei una pagina function.php
ed includi:



Codice PHP:
<?php  class Html {   public function _construct($titolo)   {     echo <<<EOHEAD <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> <title>$titolo</title>     </head>     </htmlEOHEAD;   }   
//crei una funzione per ogni parte del tuo template  
public function header() 
{
 echo <<<
EOHEADER ...contenuto header EOHEADER; } //...E COSI' VIA PER TUTTO IL RESTO DEL TEMPLATE , ricordandoti che se ad esempio in header vuoi metterci un contenuto che dovrà cambiare spesso crei anche la funzione closeHeader dove inserisci ad esempio tutto ciò che riguarda la chiusura dell'header, tipo tabelle ecc.}
Poi nella pagina index(e tutte le altre) inizializzi così:





Codice PHP:
<?php require_once('function.php');  $page = new HtmlGenerator(); echo <<<GENER <title>Home</titleGENER//richiami ogni funzione in questo modo $page->header(); //e così via... echo <<<EOM //contenuto header variabile EOM; $page->closeHeader(); ?>
Ricordati che questi tag heredoc EOM, HEADER li puoi chiamare come vuoi, solo che con la parola che inizi così devi finire, tipo "<<<AAA....AAA;

Forse è un pò troppo macchinoso(inizialmente), ma per me è valido.

Ti potrà servire

Ciao