PHPからsmartyのテンプレートへ値を渡す場合に、めんどくさいからDBから取得した配列をPHPで加工せずにそのまま渡したい、といった場面がしばしばあります。加工というのは、文字列の操作や改行、文字コードの変換など簡易レベル。
そんな時、smartyテンプレートにPHPの関数を直接書いたりします。例えば以下の処理は、
$str = mb_substr($str, 0, 10);
smartyのテンプレート上で以下のように表現できます。
{$str|mb_substr:0:10}
つまり、以下のルールに従えばPHPで使える関数が、テンプレート上でそのまま利用できるというわけです。
{(第一引数)|(関数名):(第二引数):(第三引数):(第四引数):...}