关于smarty的功能--过滤器

过滤器可以在模板进入smarty编译模板前设置模板的内容,比如注释,
这些无关紧要的内容 我们不需要它们,因此可以在进入模板之前将其过滤

前置过滤器

    registerFilter('pre','');

<?php
 require  "./mySmarty.cla -->ss.php";
$smarty = new mySmarty();
//定义一个前置过滤器函数
function prevadd($tplName){
    $reg ="/<!--.*-->/";
    return preg_replace($reg,'',$tplName);
}
$smarty ->registerFilter("pre","prevadd");

后置过滤器

    registerFilter('post','');

<?php
//定义一个后置过滤器
function poster($tplname){
        
        return "<---author:smarty zheng--->".$tplname;
}
$smarty ->registerFilter("post","poster");

输出过滤器

    registerFilter('output','');

<?php
//定义输出过滤器
function outmessage($tplname){
        echo "13232<br/>";
        return str_replace("过滤器工具","tool",$tplname);
}
$smarty ->caching = 1;
$smarty ->registerFilter("output","outmessage");

$smarty ->assign('name','prvfileter');
$smarty->clearCompiledTemplate('filter.html');//清除编译目录下的编译文件或者指定条件的编译文件。
$smarty ->display("filter.html");

对于输出过滤器来说,输出过滤器在整个smarty的执行流程过程中.是在编译文件生成之后,所以输出过滤器的内容不会出现在view_c编译好的目录文件中,但是如果caching=1 那么输出过滤器的内容会保存到cache目录缓存目录中去


利用smarty的过滤功能可以为模板做统一的设置,可以将方法定义在父类控制器中。例如将所有的模板中的注释去除掉.

转载于:https://my.oschina.net/osmyblog/blog/280757

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值