Но почему же?
То что я написал работает как надо. Относительно быстро.
Да и код получается довольно выразительный.
toplevel.tpl
{TL_TITLE}
{HEADER}
{LEFT}
{CONTENT}
{RIGHT}
{FOOTER}
script.php
<?php
require \'inc/class.template.php\';
$tpl = new Template;
$tpl->define(array(\'TOPLEVEL\' => \'toplevel\',
\'HEADER\' => \'header\',
\'LEFT\' => \'left\',
\'CONTENT\' => \'content\',
\'RIGHT\' => \'right\',
\'FOOTER\' => \'footer\'));
$tpl->assign(\'TL_TITLE\', \'Заголовок страницы\');
$tpl->parse(\'MT_HEADER\', \'HEADER\');
$tpl->parse(\'MT_LEFT\', \'LEFT\');
$tpl->parse(\'MT_CONTENT\', \'CONTENT\');
$tpl->parse(\'MT_RIGHT\', \'RIGHT\');
$tpl->parse(\'MT_FOOTER\', \'FOOTER\');
$tpl->parse(\'TOPLEVEL\', \'TOPLEVEL\');
$tpl->output(\'TOPLEVEL\');
?>