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 相关文章推荐
弄了个检测传输的参数是否为数字的Function
Dec 06 PHP
10个实用的PHP代码片段
Sep 02 PHP
微信公众平台网页授权获取用户基本信息中授权回调域名设置的变动
Oct 21 PHP
php实现可用于mysql,mssql,pg数据库操作类
Dec 13 PHP
php面向对象与面向过程两种方法给图片添加文字水印
Aug 26 PHP
PHP实现发送邮件的方法(基于简单邮件发送类)
Dec 17 PHP
详解WordPress中过滤链接与过滤SQL语句的方法
Dec 18 PHP
symfony2.4的twig中date用法分析
Mar 18 PHP
php动态读取数据清除最右边距的方法
Apr 12 PHP
Kindeditor编辑器添加图片上传水印功能(php代码)
Aug 03 PHP
Laravel 添加多语言提示信息的方法
Sep 29 PHP
浅谈PHP7中的一些小技巧
May 29 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获取当前相对于域名目录的方法
2015/06/26 PHP
Linux系统下使用XHProf和XHGui分析PHP运行性能
2015/12/08 PHP
yii2.0实现验证用户名与邮箱功能
2015/12/22 PHP
Yii2学习笔记之汉化yii设置表单的描述(属性标签attributeLabels)
2017/02/07 PHP
PHP sdk实现在线打包代码示例
2020/12/09 PHP
个人总结的一些关于String、Function、Array的属性和用法
2007/01/10 Javascript
一个基于jquery的文本框记数器
2012/09/19 Javascript
Javascript 按位左移运算符使用介绍(
2014/02/04 Javascript
javascript中通过arguments参数伪装方法重载
2014/10/08 Javascript
JavaScript实现防止网页被嵌入Frame框架的代码分享
2014/12/29 Javascript
jquery图片切换插件
2015/03/16 Javascript
JS显示表格内指定行html代码的方法
2015/03/31 Javascript
jQuery插件bxSlider实现响应式焦点图
2015/04/12 Javascript
jquery UI Datepicker时间控件的使用方法(基础版)
2015/11/07 Javascript
利用Vue.js指令实现全选功能
2016/09/08 Javascript
js Canvas实现圆形时钟教程
2016/09/19 Javascript
JavaScript获取tr td 的三种方式全面总结(推荐)
2017/08/15 Javascript
highcharts 在angular中的使用示例代码
2017/09/20 Javascript
解决vue打包项目后刷新404的问题
2018/03/06 Javascript
js实现盒子滚动动画效果
2020/08/09 Javascript
使用vue引入maptalks地图及聚合效果的实现
2020/08/10 Javascript
[01:04:22]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 IG vs EG
2018/04/01 DOTA
手动实现把python项目发布为exe可执行程序过程分享
2014/10/23 Python
2018年Python值得关注的开源库、工具和开发者(总结篇)
2018/01/04 Python
使用apidoc管理RESTful风格Flask项目接口文档方法
2018/02/07 Python
通过代码实例了解Python3编程技巧
2020/10/13 Python
幼师自我鉴定范文
2013/10/01 职场文书
小班上学期评语
2014/05/05 职场文书
毕业实习指导教师评语
2014/12/31 职场文书
布达拉宫的导游词
2015/02/02 职场文书
建国大业观后感
2015/06/01 职场文书
国庆阅兵观后感
2015/06/15 职场文书
2016新年致辞
2015/08/01 职场文书
工人先锋号事迹材料(2016精选版)
2016/03/01 职场文书
WordPress多语言翻译插件 - WPML使用教程
2021/04/01 PHP
如何通过简单的代码描述Angular父组件、子组件传值
2022/04/07 Javascript