smarty高级特性之过滤器的使用方法


Posted in PHP onDecember 25, 2015

本文实例分析了smarty高级特性之过滤器的使用方法。分享给大家供大家参考,具体如下:

高级特性中过滤器的使用

1、预过滤器

function remove_dw_comments($tpl_source, &$smarty)
{
 return preg_replace("/<!--#.*-->/U","",$tpl_source);
 //去除原tpl文件中的注释,使其在编译后的文件中不显示
}
//注册预过滤器
$smarty->register_prefilter("remove_dw_comments");
$smarty->display("test1.tpl");

test1.tpl

<h1>与过滤器的使用</h1>
<!--#hello-->  注释的格式
这样的话,注释在编译后的文件中被过滤掉

2、后过滤器

function add_header_comment($tpl_source, &$smarty)
{
 return "<?php echo \"<!-- Created by Smarty! -->\n\" ?>\n".$tpl_source;
 //添加头部注释
}
//注册后过滤器
$smarty->register_postfilter("add_header_comment");
$smarty->display('test2.tpl');

模板文件:

test2.tpl

头部会产生注释:

<!-- Created by Smarty! -->

3、输出滤镜

function protect_email($tpl_output, &$smarty){
  $tpl_output = preg_replace('!(\S+)@([a-zA-Z0-9\.\-]+\.([a-zA-Z]{2,3}|[0-9]{1,3}))!', '$1%40$2', $tpl_output);
  return $tpl_output;}// register the outputfilter$smarty->register_outputfilter("protect_email");
  $smarty->display("index.tpl");
}
$smarty->register_outputfilter("protect_email");
$smarty->display("index.tpl");

希望本文所述对大家基于smarty模板的PHP程序设计有所帮助。

PHP 相关文章推荐
如何给phpadmin一个保护
Oct 09 PHP
PHP学习 运算符与运算符优先级
Jun 15 PHP
Drupal7中常用的数据库操作实例
Mar 02 PHP
PHP基于数组实现的分页函数实例
Aug 20 PHP
字符串长度函数strlen和mb_strlen的区别示例介绍
Sep 09 PHP
thinkPHP实现瀑布流的方法
Nov 29 PHP
php正则表达式验证(邮件地址、Url地址、电话号码、邮政编码)
Mar 14 PHP
linux下php上传文件注意事项
Jun 11 PHP
PHP中set_include_path()函数相关用法分析
Jul 18 PHP
PHP7标量类型declare用法实例分析
Sep 26 PHP
thinkphp查询,3.X 5.0方法(亲试可行)
Jun 17 PHP
使用Git实现Laravel项目的自动化部署
Nov 24 PHP
WordPress中编写自定义存储字段的相关PHP函数解析
Dec 25 #PHP
PHP加密解密实例分析
Dec 25 #PHP
PHP时间类完整实例(非常实用)
Dec 25 #PHP
PHP图形操作之Jpgraph学习笔记
Dec 25 #PHP
php实现scws中文分词搜索的方法
Dec 25 #PHP
php自定义分页类完整实例
Dec 25 #PHP
php导出生成word的方法
Dec 25 #PHP
You might like
DC动画电影《黑暗正义联盟》曝预告 5月5日上线数字平台
2020/04/09 欧美动漫
重置版战役片段
2020/04/09 魔兽争霸
我的论坛源代码(六)
2006/10/09 PHP
PHP中文处理 中文字符串截取(mb_substr)和获取中文字符串字数
2011/11/10 PHP
windows环境下php配置memcache的具体操作步骤
2013/06/09 PHP
php MessagePack介绍
2013/10/06 PHP
js 获取Listbox选择的值的代码
2010/04/15 Javascript
JavaScript 开发工具webstrom使用指南
2014/12/09 Javascript
javascript表格隔行变色加鼠标移入移出及点击效果的方法
2015/04/10 Javascript
JavaScript检测字符串中是否含有html标签实现方法
2015/07/01 Javascript
JavaScript实现广告弹窗效果
2016/08/09 Javascript
AngularJS利用Controller完成URL跳转
2016/08/09 Javascript
微信小程序 WebSocket详解及应用
2017/01/21 Javascript
JavaScript函数参数的传递方式详解
2017/03/06 Javascript
Vue服务端渲染和Vue浏览器端渲染的性能对比(实例PK )
2017/03/31 Javascript
vue-router路由懒加载和权限控制详解
2017/12/13 Javascript
vue实现的上传图片到数据库并显示到页面功能示例
2018/03/17 Javascript
create-react-app 修改为多入口编译的方法
2018/08/01 Javascript
JS获取月的第几周和年的第几周实例代码
2018/12/05 Javascript
vuex actions异步修改状态的实例详解
2019/11/06 Javascript
如何利用vue实现波谱拟合详解
2020/11/05 Javascript
Python3 能振兴 Python的原因分析
2014/11/28 Python
python利用装饰器进行运算的实例分析
2015/08/04 Python
500行Python代码打造刷脸考勤系统
2019/06/03 Python
选择python进行数据分析的理由和优势
2019/06/25 Python
Flask框架中request、请求钩子、上下文用法分析
2019/07/23 Python
通过Python实现Payload分离免杀过程详解
2020/07/13 Python
CSS3色彩模式有哪些?CSS3 HSL色彩模式的定义
2016/04/26 HTML / CSS
公务员保密承诺书
2014/03/27 职场文书
法制宣传月活动方案
2014/05/11 职场文书
校园学雷锋广播稿
2014/10/08 职场文书
开展批评与自我批评发言材料
2014/10/17 职场文书
储备店长岗位职责
2015/04/14 职场文书
2015年党员岗位承诺书
2015/04/27 职场文书
观后感的写法
2015/06/19 职场文书
上班旷工检讨书
2015/08/15 职场文书