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 相关文章推荐
一个用于MySQL的PHP XML类
Oct 09 PHP
解决163/sohu/sina不能够收到PHP MAIL函数发出邮件的问题
Mar 13 PHP
php 文件上传代码(限制jpg文件)
Jan 05 PHP
dhtmlxTree目录树增加右键菜单以及拖拽排序的实现方法
Apr 26 PHP
基于php-fpm的配置详解
Jun 03 PHP
php中用socket模拟http中post或者get提交数据的示例代码
Aug 08 PHP
php+ajax实现图片文件上传功能实例
Jun 17 PHP
PHP命名空间(namespace)的使用基础及示例
Aug 18 PHP
php使用gettimeofday函数返回当前时间并存放在关联数组里
Mar 19 PHP
yum命令安装php7和相关扩展
Jul 04 PHP
laravel 5异常错误:FatalErrorException in Handler.php line 38的解决
Oct 12 PHP
gearman中任务的优先级和返回状态实例分析
Feb 27 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
业余方法DIY电子管FM收音机
2021/03/02 无线电
Yii实现的多级联动下拉菜单
2016/07/13 PHP
PHP实现UTF8二进制及明文字符串的转化功能示例
2017/11/20 PHP
在b/s开发中经常用到的javaScript技术
2006/08/23 Javascript
javascript XMLHttpRequest对象全面剖析
2010/04/24 Javascript
js 动态文字滚动的例子
2011/01/17 Javascript
jQuery EasyUI API 中文文档 - ComboBox组合框
2011/10/07 Javascript
基于jQuery的遍历同id元素 并响应事件的代码
2012/06/14 Javascript
JS 按钮点击触发(兼容IE、火狐)
2013/08/07 Javascript
Node.js配合node-http-proxy解决本地开发ajax跨域问题
2016/08/31 Javascript
jQuery制作图片旋转效果
2017/02/02 Javascript
Vue2.0 多 Tab切换组件的封装实例
2017/07/28 Javascript
Angular实现表单验证功能
2017/11/13 Javascript
JavaScript实用代码小技巧
2018/08/23 Javascript
对angularjs框架下controller间的传值方法详解
2018/10/08 Javascript
VUE+Element UI实现简单的表格行内编辑效果的示例的代码
2018/10/31 Javascript
JS实现动态添加外部js、css到head标签的方法
2019/06/05 Javascript
JQuery获得内容和属性方法解析
2020/05/30 jQuery
[54:25]Ti4 循环赛第三日LGD vs MOUZ
2014/07/12 DOTA
Python3实现将文件归档到zip文件及从zip文件中读取数据的方法
2015/05/22 Python
pycharm: 恢复(reset) 误删文件的方法
2018/10/22 Python
python整小时 整天时间戳获取算法示例
2019/02/20 Python
Python中的引用知识点总结
2019/05/20 Python
numpy中三维数组中加入元素后的位置详解
2019/11/28 Python
Python 解析简单的XML数据
2020/07/24 Python
纽约复古灵感的现代珠宝品牌:Lulu Frost
2018/03/03 全球购物
出纳工作岗位责任制
2014/02/02 职场文书
加多宝凉茶广告词
2014/03/18 职场文书
绩效考核实施方案
2014/03/18 职场文书
优秀少先队辅导员先进事迹材料
2014/05/18 职场文书
会议欢迎词
2015/01/23 职场文书
小学端午节活动总结
2015/02/11 职场文书
2015年学校团委工作总结
2015/05/26 职场文书
班委竞选稿范文
2015/11/21 职场文书
解决Python中的modf()函数取小数部分不准确问题
2021/05/28 Python
Win10服务全部禁用了怎么启动?Win10服务全部禁用解决方法
2022/09/23 数码科技