## 除去フィルタ

除去フィルタの一覧
ID | 名前 | フラグ | 説明
--- | --- | --- | ---
`FILTER_SANITIZE_EMAIL` | "email" |  | 英字、数字および !#$%&'*+-=?^_`{|}~@.[] 以外のすべての文字を取り除きます。
`FILTER_SANITIZE_ENCODED` | "encoded" | `FILTER_FLAG_STRIP_LOW`, `FILTER_FLAG_STRIP_HIGH`, `FILTER_FLAG_STRIP_BACKTICK`, `FILTER_FLAG_ENCODE_LOW`, `FILTER_FLAG_ENCODE_HIGH` | 文字列を URL エンコードします。オプションで、 特殊文字を取り除いたりエンコードしたりします。
`FILTER_SANITIZE_MAGIC_QUOTES` | "magic_quotes" |  | addslashes() を適用します。
`FILTER_SANITIZE_NUMBER_FLOAT` | "number_float" | `FILTER_FLAG_ALLOW_FRACTION`, `FILTER_FLAG_ALLOW_THOUSAND`, `FILTER_FLAG_ALLOW_SCIENTIFIC` | 数字、+- および オプションで .,eE 以外のすべての文字を取り除きます。
`FILTER_SANITIZE_NUMBER_INT` | "number_int" |  | 数字、プラス記号、マイナス記号 以外のすべての文字を取り除きます。
`FILTER_SANITIZE_SPECIAL_CHARS` | "special_chars" | `FILTER_FLAG_STRIP_LOW`, `FILTER_FLAG_STRIP_HIGH`, `FILTER_FLAG_STRIP_BACKTICK`, `FILTER_FLAG_ENCODE_HIGH` | '"<>& および ASCII 値が 32 未満の文字を HTML エスケープします。オプションで、 特殊文字を取り除いたりエンコードしたりします。
`FILTER_SANITIZE_FULL_SPECIAL_CHARS` | "full_special_chars" | `FILTER_FLAG_NO_ENCODE_QUOTES`, | htmlspecialchars() に `ENT_QUOTES` を指定してコールするのと同じです。 クォートのエンコードを無効にするには `FILTER_FLAG_NO_ENCODE_QUOTES` を設定します。 htmlspecialchars() と同様、このフィルタは default_charset に対応しています。 現在の文字セットで無効な文字となるバイトシーケンスが検出されると文字列全体を拒否し、 結果は長さ 0 の文字列となります。 このフィルタをデフォルトのフィルタとして使う場合は、以下の警告を参考にして デフォルトのフラグを 0 に設定しましょう。
`FILTER_SANITIZE_STRING` | "string" | `FILTER_FLAG_NO_ENCODE_QUOTES`, `FILTER_FLAG_STRIP_LOW`, `FILTER_FLAG_STRIP_HIGH`, `FILTER_FLAG_STRIP_BACKTICK`, `FILTER_FLAG_ENCODE_LOW`, `FILTER_FLAG_ENCODE_HIGH`, `FILTER_FLAG_ENCODE_AMP` | タグを取り除きます。オプションで、 特殊文字を取り除いたりエンコードしたりします。
`FILTER_SANITIZE_STRIPPED` | "stripped" |  | "string" フィルタのエイリアス。
`FILTER_SANITIZE_URL` | "url" |  | 英字、数字および $-_.+!*'(),{}|\\^~[]`<>#%";/?:@&= 以外のすべての文字を取り除きます。
`FILTER_UNSAFE_RAW` | "unsafe_raw" | `FILTER_FLAG_STRIP_LOW`, `FILTER_FLAG_STRIP_HIGH`, `FILTER_FLAG_STRIP_BACKTICK`, `FILTER_FLAG_ENCODE_LOW`, `FILTER_FLAG_ENCODE_HIGH`, `FILTER_FLAG_ENCODE_AMP` | 何もせず、オプションで特殊文字を取り除いたりエンコードしたりします。 `FILTER_DEFAULT` は、このフィルタのエイリアスです。

警告

これらのフィルタのいずれかを ini ファイルやウェブサーバーの設定でデフォルトフィルタとして使用すると、 デフォルトのフラグは `FILTER_FLAG_NO_ENCODE_QUOTES` となります。 デフォルトでクォートをエンコードさせるには、 明示的に filter.default_flags を 0 としなければなりません。

例1 デフォルトのフィルタを htmlspecialchars と同様の挙動にする設定

`filter.default = full_special_chars
filter.default_flags = 0`

### 変更履歴

バージョン | 説明
--- | ---
5.2.11/5.3.1 | スラッシュ (/) が `FILTER_SANITIZE_EMAIL` から取り除かれました。これより前のバージョンでは、スラッシュも含まれていました。