アウトプットフィルタプラグインは、テンプレートが読み込まれて実行された後 (しかしその出力が表示される前)にテンプレートの出力を操作します。
string smarty_outputfilter_name( |
$template_output, | |
&$smarty) ; |
string $template_output
;object &$smarty
;アウトプットフィルタの第1パラメータは、処理を行うテンプレート出力です。 第2パラメータは、プラグインを呼び出したSmartyのインスタンスです。 このプラグインは戻り値に、修正されたテンプレート出力を返すようにして下さい。
Example 16.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); } ?>
register_outputfilter()
および
unregister_outputfilter()
も参照してください。