ZendFramework学习第三章(核心组件—过滤器之过滤器的使用方法)

过滤器就是对输入的内容过滤,清除其中不符合过滤规则的内容,并将其余的内容返回的过程,对用户输入的内容进行无害化处理。

过滤器的使用方法

过滤器使用分为两种,一种是使用单个过滤器,一种是使用过滤器链,都是用Zend_Filter组件完成的。


使用单个过滤器

Zend_Filter中已经事先定义很多常用的的过滤器子类。要使用这些过滤器,首先要加载相应的组件,然后为类实例化对象,再调用对象的filter()方法即可。如下:

     $filter=new Zend_Filter_StringToLower();     //StringToLowerz 这个呢是
    $temp1="abcdEFGHIGKLMNopqrstuvwXYz";
    $temp2="我爱BeiJing天安门";
     
    echo "内容:".$temp1."<p>经过滤后:";
    echo $filter->filter($temp1);
    echo "<p>";
    echo "内容:".$temp2."<p>经过滤后:";
    echo $filter->filter($temp2);


使用过滤链

过滤链就是多个过滤器的一个连接。在对指定的内容进行过滤时,每个过滤器将按照其顺序分别进行过滤或者转化操作。当所有的过滤操作都被执行完毕时,过滤链返回最终的过滤结果。

创建一个过滤链,首先为类Zend_Filter实例化一个对象,然后通过该实例化的addFilter()方法向过滤器中添加过滤器。该方法的语法格式如下。

addFilter(Zend_Filter_Interface $filter);

其中,参数$filter为一个定义的过滤器类的实例。执行方法,指定的过滤器将被添加到过滤器链中。

举个例子,该例子将使用Zend_Filter_Alpha过滤器与Zend_Filter_StringToUpper过滤器分别实现对字母与数值的过滤。

     $filterChain=new Zend_Filter();
    $filterChain->addFilter(new Zend_Filter_Alpha())         //使用创建的对象调用addFilter方法
    ->addFilter(new Zend_Filter_StringToUpper());
    
    $temp1="1234sadfDSFDSA345dfg";
    $temp2="@#%$@%234rfesffSDFSw23ffffff";
    echo "内容:".$temp1."<p>经过滤后:";
    echo $filterChain->filter($temp1);
    echo "<p>";
    echo "内容:".$temp2."<p>经过滤后:";
    echo $filterChain->filter($temp2);

上述代码创建的是一个过滤链,然后往里边添加Alpha过滤器和StringToUpper过滤器。通过过滤链,非字母内容(包括空格)都被过滤,且剩余的字母也都被转化为了大写,说明使用过滤链成功执行了多重过滤操作。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值