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 相关文章推荐
php 生成随机验证码图片代码
Feb 08 PHP
PHP 小心urldecode引发的SQL注入漏洞
Oct 27 PHP
PHP关联链接常用代码
Nov 05 PHP
php导出word格式数据的代码实例
Nov 25 PHP
php+html5使用FormData对象提交表单及上传图片的方法
Feb 11 PHP
PHP.ini安全配置检测工具pcc简单介绍
Jul 02 PHP
php生成txt文件实例代码介绍
Apr 28 PHP
php metaphone()函数及php localeconv() 函数实例解析
May 15 PHP
PHP符合PSR编程规范的实例分享
Dec 21 PHP
yii2项目实战之restful api授权验证详解
May 20 PHP
PHP设计模式之原型设计模式原理与用法分析
Apr 25 PHP
php微信开发之音乐回复功能
Jun 14 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
php使用$_POST或$_SESSION[]向js函数传参
2014/09/16 PHP
基于Swoole实现PHP与websocket聊天室
2016/08/03 PHP
syntaxhighlighter 使用方法
2007/07/02 Javascript
js Date自定义函数 延迟脚本执行
2010/03/10 Javascript
jQuery的context属性用法实例
2014/12/27 Javascript
js带缩略图的图片轮播效果代码分享
2015/09/14 Javascript
JavaScript基于原型链的继承
2016/06/22 Javascript
后端接收不到AngularJs中$http.post发送的数据原因分析及解决办法
2016/07/05 Javascript
jQuery中$.grep() 过滤函数 数组过滤
2016/11/22 Javascript
JS中如何实现复选框全选功能
2016/12/19 Javascript
ES6入门教程之let和const命令详解
2017/05/17 Javascript
vue表单绑定实现多选框和下拉列表的实例
2017/08/12 Javascript
解决低版本的浏览器不支持es6的import问题
2018/03/09 Javascript
详解easyui基于 layui.laydate日期扩展组件
2018/07/18 Javascript
vue-video-player 通过自定义按钮组件实现全屏切换效果【推荐】
2018/08/29 Javascript
vue 项目接口管理的实现
2019/01/17 Javascript
详解关于微信setData回调函数中的坑
2019/02/18 Javascript
基于vue.js实现购物车
2020/01/15 Javascript
浅谈Vue3.0新版API之composition-api入坑指南
2020/04/30 Javascript
Python使用zip合并相邻列表项的方法示例
2018/03/17 Python
Python使用matplotlib绘制随机漫步图
2018/08/27 Python
Pytorch实现基于CharRNN的文本分类与生成示例
2020/01/08 Python
如何用Python 加密文件
2020/09/10 Python
HTML5 Canvas+JS控制电脑或手机上的摄像头实例
2014/05/03 HTML / CSS
eBay奥地利站:eBay.at
2019/07/24 全球购物
澳大利亚顶级美发和美容贸易超市:glamaCo
2020/01/19 全球购物
掌上明珠Java程序员面试总结
2016/02/23 面试题
培训讲师邀请函
2014/01/10 职场文书
《得道多助,失道寡助》教学反思
2014/04/19 职场文书
党的群众路线教育实践活动个人对照检查材料
2014/09/22 职场文书
幼儿教师小班个人总结
2015/02/05 职场文书
慰问信的写作格式及范文!
2019/06/24 职场文书
导游词之上海杜莎夫人蜡像馆
2019/11/22 职场文书
励志语录:时光飞逝,请学会珍惜所有的人和事
2020/01/16 职场文书
mysql升级到5.7时,wordpress导数据报错1067的问题
2021/05/27 MySQL
JS实现数组去重的11种方法总结
2022/04/04 Javascript