第 9 章 Zend_Filter

目录

9.1. Zend_Filter
9.1.1. 简介
9.1.2. 用例
9.2. Zend_Filter_Input
9.2.1. 简介
9.2.2. 白名单过滤(Whitelist Filtering)
9.2.3. 不明数据过滤(Blind Filtering)
9.2.4. 黑名单过滤(Blacklist Filtering)
9.2.5. 运转原理
9.2.6. 用例

9.1. Zend_Filter

9.1.1. 简介

Zend_Filter 为数据过滤提供了一个静态函数库。 对输入数据的过滤,请见 第 9.2 节 “Zend_Filter_Input”,它提供了一个过滤输入数据的框架。 不过,Zend_Filter_Input主要是针对数组的,标量要用Zend_Filter来过滤, 它看起来有点像PHP的字符串函数:

    <?php
    
    $alphaUsername = Zend_Filter::getAlpha('John123Doe');
    
    /* $alphaUsername = 'JohnDoe'; */
    
    ?>
        

9.1.2. 用例

下面每个用例中使用的$value是个随意的标量值。

白名单过滤(判定$value是否符合规则,返回TRUE或FALSE):

    <?php
    
    if (Zend_Filter::isEmail($value) === TRUE) {
        /* $value符合email的格式 */
    } else {
        /* $value不符合email的格式 */
    }
    
    ?>
        

不明数据过滤(滤去不符合规则的那部分数据后返回):

    <?php
    
    $alphaName = Zend_Filter::getAlpha($value);
    
    ?>
        

黑名单过滤(滤去位于黑名单之列的那些数据后返回,比如HTML标签、PHP代码):

    <?php
    
    $taglessComment = Zend_Filter::noTags($value);
    
    ?>