smarty高级特性之过滤器的使用方法

 更新时间:2015年12月25日 14:35:33   作者:释然me  
这篇文章主要介绍了smarty高级特性之过滤器的使用方法,结合实例形式分析了smarty过滤器的相关使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例分析了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_EOL换行符详细解析

    php中的PHP_EOL换行符详细解析

    看手册时发现PHP_EOL这个变量,查了下资料,原来是相当于换行符。在PHP中可以用PHP_EOL来替代,以提高代码的源代码级可移植性
    2013-10-10
  • PHP如何使用Memcached

    PHP如何使用Memcached

    memcached是高性能的分布式内存缓存服务器。一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性。本文给大家介绍PHP如何使用Memcached,感兴趣的朋友一起学习吧
    2016-04-04
  • 解析PHP中Exception异常机制

    解析PHP中Exception异常机制

    这篇文章主要介绍了解析PHP中Exception异常机制,本文通过异常的基本使用和一些常用的异常使用案例来解析说明该项概念,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • php 将json格式数据转换成数组的方法

    php 将json格式数据转换成数组的方法

    今天小编就为大家分享一篇php 将json格式数据转换成数组的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • laravel Model 执行事务的实现

    laravel Model 执行事务的实现

    今天小编就为大家分享一篇laravel Model 执行事务的实现,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • 如何在centos8自定义目录安装php7.3

    如何在centos8自定义目录安装php7.3

    在本文中我们将给大家介绍如何在centos8自定义目录安装php7.3,在选择要安装的PHP版本之前,请确保你的应用程序支持它,我们还将向你展示如何将PHP与Nginx和Apache集成,感兴趣的朋友跟随小编一起看看吧
    2019-11-11
  • Symfony2使用Doctrine进行数据库查询方法实例总结

    Symfony2使用Doctrine进行数据库查询方法实例总结

    这篇文章主要介绍了Symfony2使用Doctrine进行数据库查询方法,结合实例形式总结分析了基于Doctrine的基本查询、DQL及查询生成器的基本实现方法,需要的朋友可以参考下
    2016-03-03
  • thinkphp5框架调用其它控制器方法 实现自定义跳转界面功能示例

    thinkphp5框架调用其它控制器方法 实现自定义跳转界面功能示例

    这篇文章主要介绍了thinkphp5框架调用其它控制器方法 实现自定义跳转界面功能,结合实例形式分析了thinkPHP5控制器调用、登陆判断与界面跳转相关操作技巧,需要的朋友可以参考下
    2019-07-07
  • ThinkPHP模板判断输出Defined标签用法详解

    ThinkPHP模板判断输出Defined标签用法详解

    这篇文章主要介绍了ThinkPHP模板判断输出Defined标签用法详解,需要的朋友可以参考下
    2014-06-06
  • 在Thinkphp中使用ajax实现无刷新分页的方法

    在Thinkphp中使用ajax实现无刷新分页的方法

    这篇文章主要介绍了在Thinkphp中使用ajax实现无刷新分页的方法的相关资料,非常不错具有参考借鉴价值,需要的朋友可以参考下
    2016-10-10

最新评论