# はじめに

この拡張モジュールは、データの検証や除去を行います。 未知の (外部からの) データ、たとえばユーザーの入力などを扱う際に便利です。 HTML フォームから送られてくるデータなどがこれにあたります。

フィルタリングの方式には、大きく分けて 検証 (validation) と 除去 (sanitization) のふたつがあります。

検証 は、 データが何らかの条件を満たしているかどうかをチェックします。 たとえば `FILTER_VALIDATE_EMAIL` を渡すと、 データがメールアドレスとして正しい形式かどうかを調べます。 データ自体には何も手を加えません。

除去 は、 望まれていない文字を除去するなどしてデータを変更します。 たとえば `FILTER_SANITIZE_EMAIL` を渡すと、 メールアドレスとして無効な文字が含まれている場合にそれを除去します。 つまり、データの検証を行うわけではありません。

検証および除去のいずれについても、必要に応じて フラグ を使用して挙動を変更することができます。たとえば URL のフィルタリング時に `FILTER_FLAG_PATH_REQUIRED` を渡すと、パス (http://example.org/foo における /foo など) を必須とすることができます。