PHP 8.5.0 Beta 2 available for testing

はじめに

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

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

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

一方除去フィルタは、データを"綺麗に"します。 よって、入力データに文字を追加/削除することでデータを変更します。 除去フィルタは、 FILTER_SANITIZE_* 定数によって識別できます。 たとえば FILTER_SANITIZE_EMAIL を渡すと、 メールアドレスとして無効な文字が含まれている場合にそれを除去します。 しかし、除去済みのデータ自体が、 正しいメールアドレスの形式かどうかを調べるわけではありません。

ほとんどのフィルタには、 オプションの フラグ があり、 その振る舞いを細かく調整できるようになっています。 こうしたフラグは、 FILTER_FLAG_* 定数によって識別できます。 たとえば、検証フィルタ FILTER_VALIDATE_URL と一緒に FILTER_FLAG_PATH_REQUIRED を使うと、URL に特定のパス (http://example.org/foo における /foo など) を必須とすることができます。

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top