什么是 Smarty?
为什么使用它?
用例和工作流
语法比较
模板继承
最佳实践
速成课程
模板预过滤器是会在编译模板之前对模板应用的 PHP 函数。对于预处理模板以删除不需要的注释、留意人们在模板中输入的内容等很有用。
预过滤器可以使用registered注册,也可以使用loadFilter()
函数或通过设置插件目录从其中加载,或通过设置 $autoload_filters
变量加载。
Smarty 会将模板源代码作为第一个参数传递,并期望函数返回结果模板源代码。
示例 17.11 使用模板预过滤器
这会删除模板源中的所有 html 注释。
<?php // put this in your application function remove_dw_comments($tpl_source, Smarty_Internal_Template $template) { return preg_replace("/<!--#.*-->/U",'',$tpl_source); } // register the prefilter $smarty->registerFilter('pre','remove_dw_comments'); $smarty->display('index.tpl'); ?>