アウトプットフィルタプラグイン
アウトプットフィルタプラグインは、テンプレートが読み込まれてパースされた後(しかしその出力が表示される前)にテンプレートの出力を操作します。
string smarty_outputfilter_name (string $template_output, object &$smarty)
アウトプットフィルタの第1パラメータは、処理される必要があるテンプレート出力です。第2パラメータは、呼び出されるプラグインのSmartyのインスタンスです。このプラグインは戻り値に、修正されたテンプレートソースを返すようにして下さい。
例 15-9. アウトプットフィルタプラグイン
<?php /* * Smarty plugin * ------------------------------------------------------------- * File: outputfilter.protect_email.php * Type: outputfilter * Name: protect_email * Purpose: スパムボットからのシンプルな保護として、 * emailアドレスの"@"を"%40"に変換する * ------------------------------------------------------------- */ function smarty_outputfilter_protect_email($output, &$smarty) { return preg_replace('!(\S+)@([a-zA-Z0-9\.\-]+\.([a-zA-Z]{2,3}|[0-9]{1,3}))!', '$1%40$2', $output); } ?>
|
|