Nunja, du machst dir deine HTML Seite, schreibst dort wo z.B. Content oder Titel hin soll Platzhalter hin und ersetzt die dann per PHP. Da gibts grundsätzlich zwei möglichkeiten.
1) Die replaced die Platzhalter wortwörtlich, also z.B. mit str_replace(), dies ist einfach, aber nicht das schnellste.
2) Die Platzhalter sind Variabeln, also z.B. steht mitten im HTML Code (ohne PHP drum herum) $content. Du belegst die Variabel $content dann mit einem Wert (dem Content ebent), und evaluierst dann den HTML Code mit eval();. Das heisst, dass er den String (HTML Code), als PHP Code behandelt und alle enthaltenen Variablen ersetzt ... Das ist schneller aber auch komplizierter.
Die Errläuterungen beider Funtkionen findest du auf php.net.
PS: Für beide Möglichkeiten ist das ladend er Template Datei gleich. Entweder mit file_get_contents(). Diese Funktion hinterlegt die geladenen Datei in einem String, existiert aber erst seit PHP 4.3. Oder, abwärtskompatibeler, mit eine Kombination aus implode() bzw. join() und file(). file() liest die Datei ja Zeile für Zeile in einen Array aus, du brauchst die Datei ja aber in einem String. Das kannste per implode() bzw. join() machen, sollte dann so aussehen implode('', file(dateiname)).
Hoffe ich konnte dir ein paar Tips geben.