>>296
PHPは正確にはテンプレートエンジンでは無いんですよ。
テンプレートエンジンのようにHTML内に組み込めるようになっているだけなんです。

>PHPをちゃんとテンプレートとしてつかえたら、とおもいます。
Smartyのテンプレートの中にPHPを直接書く事も出来ますよ。(非推奨ですが)
{php}echo "Hello World"{/php}

>たしかカスタムタグみたいなこともカスタム関数でできるんですよね?
PHPが解る人なら簡単に作れますよ。

(例) タグ内の文字列を置換するタグ{replace}{/replace}タグを作る場合

block.replace.php というファイルをpluginsディレクトリの中に作成し、次のコードを記述するだけです。
function smarty_block_replace($params, $content, &$smarty)
{
retrurn str_replace($p["search"], $p["replace"], $content);
}

以降Smartyテンプレートで次のように記述出来るようになります。

{replace search="本当ですか" replace="マジッスカ"}
 {replace search="凄いですね" replace="パネェっす"}
本当ですか。
    凄いですね。
 {/replace}
{/replace}

// 出力:マジッスカ。パネェっす。

一見、PHP単体でも簡単に実装出来そうに見えますが、タグの入れ子処理等を考えると地味に面倒だったり、テンプレートの可読性が下がったりしますよね。