Ist auch reichlich unsicher. Mit eval() kann man theoretisch unbegrenzten Schaden anrichten... Diese Funktion gilt im Allgemeinen als extrem unsauber und sollte nach Möglichkeit vermieden werden.
Ich mache Templates für gewöhnlich so: 1. Das Template selbst
Genau wie bei dir einfach eine Datei mit Platzhaltern. Die haben bei mir ein anderes Format (üblicherweise %PLATZHALTER% oder {PLATZHALTER}), ansonsten ist es aber gleich. Das andere Format rate ich dir, damit du hinterher nicht groß escapen mußt. Alternativ kannst du auch einfach den zu ersetzenden Text in '' statt "" verpacken; damit werden Variablennamen nicht geparst (siehe unten).
2. Der Code
In PHP lade ich den Inhalt der Templatedatei in eine Variable und füge da per str_replace() meinen Kram ein.
Ein simples Beispiel: template.htm template.php
Ach ja, du kannst den Kram natürlich auch automatisieren: