第9章 Zend_Filter

目次

9.1. Zend_Filter
9.1.1. 導入
9.1.2. 使用例
9.2. Zend_Filter_Input
9.2.1. 導入
9.2.2. ホワイトリストフィルタリング
9.2.3. ブラインドフィルタリング
9.2.4. ブラックリストフィルタリング
9.2.5. 動作の原理
9.2.6. 使用例

9.1. Zend_Filter

9.1.1. 導入

Zend_Filter は、 データをフィルタリングするための静的メソッドのライブラリを提供します。 入力のフィルタリングには 項9.2. 「Zend_Filter_Input」 を代わりに使用すべきです。 なぜなら、これは Zend_Filter が提供するメソッドを用いて入力をフィルタリングするフレームワークだからです。 しかし、Zend_Filter_Input は主として配列を対象にして設計されているので、 スカラー値をフィルタリングするには Zend_Filter が便利でしょう。こちらは PHP の文字列関数と同様に扱えます。

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

9.1.2. 使用例

以下の使用例での $value は、任意のスカラー値を表します。

ホワイトリストフィルタリング

    <?php
    
    if (Zend_Filter::isEmail($value)) {
        /* $value は email 形式として有効です。 */
    } else {
        /* $value は email 形式ではありません。 */
    }
    
    ?>
        

ブラインドフィルタリング

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

ブラックリストフィルタリング

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