> Smarty模板引擎中文在线手册 > Prefilters [预过滤器]

registered or loaded from the plugins directory by using load_filter() function or by setting $autoload_filters variable. smarty will pass the template source code as the first argument, and expect the function to return the resulting template source code.

模板后过滤器是一些PHP函数,模板就是在那些函数编译后才运行。这样有利于预先处理你的模板,删除不不需要的内容,监视对模板进行的操作,例如:预过滤器同样能够通过 load filter() 函数和设置 $autoload filters 变量来注册或者从工具目录里载入。SMARTY将传递模板输出作为第一个参数,通过自定义函数返回处理结果。


Example 15-2. using a template prefilter

<?php
// put this in your application
function remove_dw_comments($tpl_source, &$smarty)
{
 return preg_replace("/<!--#.*-->/U","",$tpl_source);
}

// register the prefilter
$smarty->register_prefilter("remove_dw_comments");
$smarty->display("index.tpl");
?>

{* Smarty template index.tpl *}
<!--# this line will get removed by the prefilter -->

上一篇:
下一篇: