## フィルタフラグ

フィルタフラグの一覧
ID | 使える場所 | 説明
--- | --- | ---
`FILTER_FLAG_STRIP_LOW` | `FILTER_SANITIZE_ENCODED`, `FILTER_SANITIZE_SPECIAL_CHARS`, `FILTER_SANITIZE_STRING`, `FILTER_UNSAFE_RAW` | コードが 32 未満の文字を除去します。
`FILTER_FLAG_STRIP_HIGH` | `FILTER_SANITIZE_ENCODED`, `FILTER_SANITIZE_SPECIAL_CHARS`, `FILTER_SANITIZE_STRING`, `FILTER_UNSAFE_RAW` | コードが 127 より大きい文字を除去します。
`FILTER_FLAG_STRIP_BACKTICK` | `FILTER_SANITIZE_ENCODED`, `FILTER_SANITIZE_SPECIAL_CHARS`, `FILTER_SANITIZE_STRING`, `FILTER_UNSAFE_RAW` | バックティック文字を除去します。
`FILTER_FLAG_ALLOW_FRACTION` | `FILTER_SANITIZE_NUMBER_FLOAT` | ピリオド (.) を数値の小数点として許可します。
`FILTER_FLAG_ALLOW_THOUSAND` | `FILTER_SANITIZE_NUMBER_FLOAT`, `FILTER_VALIDATE_FLOAT` | カンマ (,) を数値の桁区切り文字として許可します。
`FILTER_FLAG_ALLOW_SCIENTIFIC` | `FILTER_SANITIZE_NUMBER_FLOAT` | e あるいは E を、 科学記法の数値として許可します。
`FILTER_FLAG_NO_ENCODE_QUOTES` | `FILTER_SANITIZE_STRING` | このフラグを指定すると、シングルクォート (') およびダブルクォート (") をエンコードしません。
`FILTER_FLAG_ENCODE_LOW` | `FILTER_SANITIZE_ENCODED`, `FILTER_SANITIZE_STRING`, `FILTER_SANITIZE_RAW` | コードが 32 未満のすべての文字をエンコードします。
`FILTER_FLAG_ENCODE_HIGH` | `FILTER_SANITIZE_ENCODED`, `FILTER_SANITIZE_SPECIAL_CHARS`, `FILTER_SANITIZE_STRING`, `FILTER_SANITIZE_RAW` | コードが 127 より大きいすべての文字をエンコードします。
`FILTER_FLAG_ENCODE_AMP` | `FILTER_SANITIZE_STRING`, `FILTER_SANITIZE_RAW` | アンパサンド (&) をエンコードします。
`FILTER_NULL_ON_FAILURE` | `FILTER_VALIDATE_BOOLEAN` | boolean 値として認識できない値の場合に `NULL` を返します。
`FILTER_FLAG_ALLOW_OCTAL` | `FILTER_VALIDATE_INT` | ゼロ (0) で始まる入力を八進数とみなします。 ゼロの後には 0-7 しか続けることができません。
`FILTER_FLAG_ALLOW_HEX` | `FILTER_VALIDATE_INT` | 0x あるいは 0X で始まる入力を十六進数とみなします。 後に続けられる文字は a-fA-F0-9 だけです。
`FILTER_FLAG_EMAIL_UNICODE` | `FILTER_VALIDATE_EMAIL` | Allows the local part of the email address to contain Unicode characters.
`FILTER_FLAG_IPV4` | `FILTER_VALIDATE_IP` | IPv4 形式の IP アドレスを許可します。
`FILTER_FLAG_IPV6` | `FILTER_VALIDATE_IP` | IPv6 形式の IP アドレスを許可します。
`FILTER_FLAG_NO_PRIV_RANGE` | `FILTER_VALIDATE_IP` | IPv4 プライベート領域 10.0.0.0/8, 172.16.0.0/12 および 192.168.0.0/16 を許可しません。 FD あるいは FC ではじまる IPv6 アドレスを許可しません。
`FILTER_FLAG_NO_RES_RANGE` | `FILTER_VALIDATE_IP` | 予約済みの IPv4 範囲 0.0.0.0/8, 169.254.0.0/16, 127.0.0.0/8 および 240.0.0.0/4 を許可しません。 予約済みの IPv6 範囲 ::1/128、::/128、 ::ffff:0:0/96 および fe80::/10 を許可しません。
`FILTER_FLAG_SCHEME_REQUIRED` | `FILTER_VALIDATE_URL` | URL がスキームを含むことを要求します。
`FILTER_FLAG_HOST_REQUIRED` | `FILTER_VALIDATE_URL` | URL がホストを含むことを要求します。
`FILTER_FLAG_PATH_REQUIRED` | `FILTER_VALIDATE_URL` | URL で、パス部分を必須とします。
`FILTER_FLAG_QUERY_REQUIRED` | `FILTER_VALIDATE_URL` | URL で、クエリ文字列を必須とします。
`FILTER_REQUIRE_SCALAR` |  | 値がスカラーであることを必須とします。
`FILTER_REQUIRE_ARRAY` |  | 値が配列であることを必須とします。
`FILTER_FORCE_ARRAY` |  | 値がスカラーである場合は、スカラー値をひとつだけ持つ配列として扱います。

### 変更履歴

バージョン | 説明
--- | ---
7.1.0 | `FILTER_FLAG_EMAIL_UNICODE` が追加されました。
5.3.2 | `FILTER_FLAG_STRIP_BACKTICK` が追加されました。
5.2.10 | `FILTER_FLAG_NO_RES_RANGE` が IPv6 アドレスにも対応するようになりました。