Взял из своего проекта:
function Parser($string) {
global $SysValue;
$newstring = preg_replace("/@([a-zA-Z0-9_]+)@/e", '$SysValue["other"]["\1"]', $newstring);
return $newstring;
}
Использование:
1. В файле test.tpl вставить "Привет, @myvar@";
2. В файле test.php
// Определяем переменную шаблона
$SysValue["other"]["myvar"]="Habr";
// Читаем сожержимое файла шаблона TPL
$file = file_get_contents('test.tpl');
// Выводим результат
echo Parser($file);
@ можно заменить а { в коде. Можно подключить еще парсинг php тегов.