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 相关文章推荐
一个odbc连mssql分页的类
Oct 09 PHP
php whois查询API制作方法
Jun 23 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-3 代码组织和重用2
Jul 03 PHP
浅析php中抽象类和接口的概念以及区别
Jun 27 PHP
php的mkdir()函数创建文件夹比较安全的权限设置方法
Jul 28 PHP
php解析url并得到url中的参数及获取url参数的四种方式
Oct 26 PHP
标准版Eclipse搭建PHP环境的详细步骤
Nov 18 PHP
Zend Framework教程之资源(Resources)用法实例详解
Mar 14 PHP
PHP经典实用正则表达式小结
May 04 PHP
PHP空值检测函数与方法汇总
Nov 19 PHP
PHP实现唤起微信支付功能
Feb 18 PHP
PHP code 验证码生成类定义和简单使用示例
May 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
PHP之密码加密的几种方式
2015/07/29 PHP
理解Javascript_06_理解对象的创建过程
2010/10/15 Javascript
jQuery EasyUI API 中文文档 - NumberBox数字框
2011/10/13 Javascript
jQuery EasyUI API 中文文档 - Spinner微调器使用
2011/10/21 Javascript
JQuery实现表格中相同单元格合并示例代码
2013/06/26 Javascript
jquery实现的随机多彩tag标签随机颜色和字号大小效果
2014/03/27 Javascript
JS实现自动变化的导航菜单效果代码
2015/09/09 Javascript
JS学习之表格的排序简单实例
2016/05/16 Javascript
Bootstrap图片轮播组件Carousel使用方法详解
2016/10/20 Javascript
用Nodejs搭建服务器访问html、css、JS等静态资源文件
2017/04/28 NodeJs
Angular4绑定html内容出现警告的处理方法
2017/11/03 Javascript
微信小程序实现星级评价
2019/11/20 Javascript
JS forEach跳出循环2种实现方法
2020/06/24 Javascript
OpenLayers3实现测量功能
2020/09/25 Javascript
[47:45]DOTA2-DPC中国联赛 正赛 Phoenix vs Dragon BO3 第一场 2月26日
2021/03/11 DOTA
python实现mysql的单引号字符串过滤方法
2015/11/14 Python
利用numpy实现一、二维数组的拼接简单代码示例
2017/12/15 Python
python批量设置多个Excel文件页眉页脚的脚本
2018/03/14 Python
python3获取两个日期之间所有日期,以及比较大小的实例
2018/04/08 Python
神经网络(BP)算法Python实现及应用
2018/04/16 Python
Python面向对象程序设计之继承与多继承用法分析
2018/07/13 Python
python实现自动登录后台管理系统
2018/10/18 Python
python3利用ctypes传入一个字符串类型的列表方法
2019/02/12 Python
pygame实现烟雨蒙蒙下彩虹雨
2019/11/11 Python
Python中remove漏删和索引越界问题的解决
2020/03/18 Python
记一次python 爬虫爬取深圳租房信息的过程及遇到的问题
2020/11/24 Python
CSS去掉A标签(链接)虚线框的方法
2014/04/01 HTML / CSS
一款纯css3实现的圆形旋转分享按钮旋转角度可自己调整
2014/09/02 HTML / CSS
canvas裁剪clip()函数的具体使用
2018/03/01 HTML / CSS
详解html5 postMessage解决跨域通信的问题
2018/08/17 HTML / CSS
Shop Apotheke瑞士:您的健康与美容网上商店
2019/10/09 全球购物
任命书怎么写
2015/03/02 职场文书
死者家属慰问信
2015/03/24 职场文书
团拜会主持词
2015/07/04 职场文书
使用HTML+Css+transform实现3D导航栏的示例代码
2021/03/31 HTML / CSS
解决Vue+SpringBoot+Shiro跨域问题
2021/06/09 Vue.js