この拡張モジュールは、データの検証や除去を行います。 未知の (外部からの) データ、たとえばユーザーの入力などを扱う際に便利です。 HTML フォームから送られてくるデータなどがこれにあたります。
フィルタリングの方式には、大きく分けて 検証 (validation) と 除去 (sanitization) のふたつがあります。
検証 は、
データが何らかの条件を満たしているかどうかをチェックします。
たとえば FILTER_VALIDATE_EMAIL
を渡すと、
データがメールアドレスとして正しい形式かどうかを調べます。
データ自体には何も手を加えません。
除去 は、
望まれていない文字を除去するなどしてデータを変更します。
たとえば FILTER_SANITIZE_EMAIL
を渡すと、
メールアドレスとして無効な文字が含まれている場合にそれを除去します。
つまり、データの検証を行うわけではありません。
検証および除去のいずれについても、必要に応じて フラグ
を使用して挙動を変更することができます。たとえば URL
のフィルタリング時に FILTER_FLAG_PATH_REQUIRED
を渡すと、パス (http://example.org/foo
における
/foo
など) を必須とすることができます。