Filter
インストール/設定
Filter
PHP Manual

# 導入

この拡張モジュールは、 ユーザ入力などのセキュアでないデータの検証およびフィルタリングを行います。

現在存在するのは、以下のフィルタです。各定数の振る舞いについての説明は フィルタ定数 の節を参照ください。

存在するフィルタ
ID | 名前 | オプション | フラグ | 説明
--- | --- | --- | --- | ---
`FILTER_VALIDATE_INT` | "int" | `min_range` , `max_range` | `FILTER_FLAG_ALLOW_OCTAL`, `FILTER_FLAG_ALLOW_HEX` | 値が整数であるかどうか、オプションで指定した範囲内にあるかどうかを検証します。
`FILTER_VALIDATE_BOOLEAN` | "boolean" |  | `FILTER_NULL_ON_FAILURE` | "1"、"true"、"on" および "yes" の場合に `TRUE`、 それ以外の場合に `FALSE` を返します。 `FILTER_NULL_ON_FAILURE` が設定されている場合は、 `FALSE` が返されるのは "0"、"false"、"off"、"no" および "" の場合のみとなります。 boolean 以外の値については `NULL` を返します。
`FILTER_VALIDATE_FLOAT` | "float" | `decimal` | `FILTER_FLAG_ALLOW_THOUSAND` | 値が float であるかどうかを検証します。
`FILTER_VALIDATE_REGEXP` | "validate_regexp" | `regexp` |  | 値が、Perl 互換の 正規表現 `regexp` に一致するかどうかを検証します。
`FILTER_VALIDATE_URL` | "validate_url" |  | `FILTER_FLAG_PATH_REQUIRED`, `FILTER_FLAG_QUERY_REQUIRED` | 値が URL 形式であるかどうか、 オプションで指定したコンポーネントが含まれているかどうかを検証します。
`FILTER_VALIDATE_EMAIL` | "validate_email" |  |  | 値が e-mail 形式であるかどうかを検証します。
`FILTER_VALIDATE_IP` | "validate_ip" |  | `FILTER_FLAG_IPV4`, `FILTER_FLAG_IPV6`, `FILTER_FLAG_NO_PRIV_RANGE`, `FILTER_FLAG_NO_RES_RANGE` | 値が IP アドレスであるかどうかを検証します。 オプションで IPv4 あるいは IPv6 のみの指定、 プライベートアドレスや予約済みアドレスではないことの指定もできます。
`FILTER_SANITIZE_STRING` | "string" |  | `FILTER_FLAG_NO_ENCODE_QUOTES`, `FILTER_FLAG_STRIP_LOW`, `FILTER_FLAG_STRIP_HIGH`, `FILTER_FLAG_ENCODE_LOW`, `FILTER_FLAG_ENCODE_HIGH`, `FILTER_FLAG_ENCODE_AMP` | タグを取り除きます。オプションで、 特殊文字を取り除いたりエンコードしたりします。
`FILTER_SANITIZE_STRIPPED` | "stripped" |  |  | "string" フィルタのエイリアス。
`FILTER_SANITIZE_ENCODED` | "encoded" |  | `FILTER_FLAG_STRIP_LOW`, `FILTER_FLAG_STRIP_HIGH`, `FILTER_FLAG_ENCODE_LOW`, `FILTER_FLAG_ENCODE_HIGH` | 文字列を URL エンコードします。オプションで、 特殊文字を取り除いたりエンコードしたりします。
`FILTER_SANITIZE_SPECIAL_CHARS` | "special_chars" |  | `FILTER_FLAG_STRIP_LOW`, `FILTER_FLAG_STRIP_HIGH`, `FILTER_FLAG_ENCODE_HIGH` | '"<>& および ASCII 値が 32 未満の文字を HTML エスケープします。オプションで、 特殊文字を取り除いたりエンコードしたりします。
`FILTER_UNSAFE_RAW` | "unsafe_raw" |  | `FILTER_FLAG_STRIP_LOW`, `FILTER_FLAG_STRIP_HIGH`, `FILTER_FLAG_ENCODE_LOW`, `FILTER_FLAG_ENCODE_HIGH`, `FILTER_FLAG_ENCODE_AMP` | 何もせず、オプションで特殊文字を取り除いたりエンコードしたりします。
`FILTER_SANITIZE_EMAIL` | "email" |  |  | 英字、数字および !#$%&'*+-/=?^_`{|}~@.[] 以外のすべての文字を取り除きます。
`FILTER_SANITIZE_URL` | "url" |  |  | 英字、数字および $-_.+!*'(),{}|\\^~[]`<>#%";/?:@&= 以外のすべての文字を取り除きます。
`FILTER_SANITIZE_NUMBER_INT` | "number_int" |  |  | 数字、プラス記号、マイナス記号 以外のすべての文字を取り除きます。
`FILTER_SANITIZE_NUMBER_FLOAT` | "number_float" |  | `FILTER_FLAG_ALLOW_FRACTION`, `FILTER_FLAG_ALLOW_THOUSAND`, `FILTER_FLAG_ALLOW_SCIENTIFIC` | 数字、+- および オプションで .,eE 以外のすべての文字を取り除きます。
`FILTER_SANITIZE_MAGIC_QUOTES` | "magic_quotes" |  |  | addslashes() を適用します。
`FILTER_CALLBACK` | "callback" | callback 関数あるいはメソッド |  | ユーザ定義の関数をコールしてデータをフィルタリングします。

Filter
インストール/設定
Filter
PHP Manual