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 相关文章推荐
基于数据库的在线人数,日访问量等统计
Oct 09 PHP
安装PHP可能遇到的问题“无法载入mysql扩展” 的解决方法
Apr 16 PHP
快速开发一个PHP扩展图文教程
Dec 12 PHP
使用PHPMYADMIN操作mysql数据库添加新用户和数据库的方法
Apr 02 PHP
php数组函数序列之sort() 对数组的元素值进行升序排序
Nov 02 PHP
PHP开发工具ZendStudio下Xdebug工具使用说明详解
Nov 11 PHP
php时区转换转换函数
Jan 07 PHP
在WordPress中使用wp_count_posts函数来统计文章数量
Jan 05 PHP
php打包网站并在线压缩为zip
Feb 13 PHP
PHP实现仿百度文库,豆丁在线文档效果(word,excel,ppt转flash)
Mar 10 PHP
php打包压缩文件之ZipArchive方法用法分析
Apr 30 PHP
PHP Cookie学习笔记
Aug 23 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
4种PHP异步执行的常用方式
2015/12/24 PHP
php微信公众号开发模式详解
2016/11/28 PHP
简单实现php上传文件功能
2017/09/21 PHP
PHP实现打包zip并下载功能
2018/06/12 PHP
用js的for循环获取radio选中的值
2013/10/21 Javascript
javascript 寻找错误方法整理
2014/06/15 Javascript
jQuery中on()方法用法实例详解
2015/02/06 Javascript
Easyui 之 Treegrid 笔记
2016/04/29 Javascript
JavaScript知识点总结(六)之JavaScript判断变量数据类型
2016/05/31 Javascript
JSONP跨域请求实例详解
2016/07/04 Javascript
js选项卡的制作方法
2017/01/23 Javascript
javascript基础练习之翻转字符串与回文
2017/02/20 Javascript
详解AngularJS通过ocLazyLoad实现动态(懒)加载模块和依赖
2017/03/01 Javascript
js实现年月日表单三级联动
2020/04/17 Javascript
详解vue 配合vue-resource调用接口获取数据
2017/06/22 Javascript
一个有意思的鼠标点击文字特效jquery代码
2017/09/23 jQuery
JS实现多物体运动的方法详解
2018/01/23 Javascript
vue实现组件之间传值功能示例
2018/07/13 Javascript
python制作小说爬虫实录
2017/08/14 Python
Python中常见的异常总结
2018/02/20 Python
Python 利用内置set函数对字符串和列表进行去重的方法
2018/06/29 Python
Python实现将数据写入netCDF4中的方法示例
2018/08/30 Python
Python 给某个文件名添加时间戳的方法
2018/10/16 Python
Python解析Excle文件中的数据方法
2018/10/23 Python
Python3简单实现串口通信的方法
2019/06/12 Python
pytorch  网络参数 weight bias 初始化详解
2020/06/24 Python
彻底解决Python包下载慢问题
2020/11/15 Python
python中pivot()函数基础知识点
2021/01/03 Python
CSS3教程(10):CSS3 HSL声明设置颜色
2009/04/02 HTML / CSS
CSS3自定义滚动条样式 ::webkit-scrollbar的示例代码详解
2020/06/01 HTML / CSS
Weekendesk意大利:探索多种引人入胜的周末主题
2016/10/14 全球购物
德国原装品牌香水、化妆品和手表网站:BRASTY.DE
2016/10/16 全球购物
俄罗斯在线服装店:STOLNIK
2021/03/07 全球购物
创先争优活动党员公开承诺书
2014/08/29 职场文书
董事长岗位职责
2015/02/13 职场文书
解决Pytorch dataloader时报错每个tensor维度不一样的问题
2021/05/28 Python