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 から取り除かれました。これより前のバージョンでは、スラッシュも含まれていました。
|