PHP フィルター関数
PHP フィルターの紹介
このPHPフィルターは、ユーザー入力などの安全でないソースからのデータを検証およびフィルター処理するために使用されます。
インストール
PHP5.2.0以降、フィルタ関数はデフォルトで有効になっています。これらの機能を使用するために必要なインストールはありません。
ランタイム構成
これらの関数の動作は、php.iniの設定の影響を受けます。
名前 |
説明 |
デフォルト |
変更可能 |
---|---|---|---|
filter.default | このフィルターで $_GET、$_POST、$_COOKIE、$_REQUEST、および $_SERVERのすべてのデータをフィルター処理します。デフォルトで使用したいフィルターの名前を受け入れます。フィルター名の一覧はフィルター一覧をご覧ください | "unsafe_raw" | PHP_INI_PERDIR |
filter.default_flags | デフォルト フィルタが設定されている場合に適用するデフォルト フラグ。これは、後方互換性の理由から、デフォルトで FILTER_FLAG_NO_ENCODE_QUOTESに設定されています | NULL | PHP_INI_PERDIR |
PHP フィルター関数
関数 |
説明 |
---|---|
filter_has_var() | 指定された入力タイプの変数が存在するかどうかを確認します |
filter_id() | 指定されたフィルター名のフィルターIDを返します |
filter_input() | (フォーム入力などから)外部変数を取得し、オプションでそれをフィルタリングします |
filter_input_array() | 外部変数を(フォーム入力などから)取得し、必要に応じてそれらをフィルター処理します |
filter_list() | サポートされているすべてのフィルター名のリストを返します |
filter_var() | 指定されたフィルタで変数をフィルタリングします |
filter_var_array() | 複数の変数を取得してフィルタリングします |
PHP 定義済みフィルター定数
Constant |
説明 |
---|---|
INPUT_POST | POST変数 |
INPUT_GET | GET変数 |
INPUT_COOKIE | cookie変数 |
INPUT_ENV | ENV 変数 |
INPUT_SERVER | サーバー変数 |
FILTER_DEFAULT | オプションで特殊文字を削除/エンコードします。 FILTER_UNSAFE_RAWに相当 |
FILTER_FLAG_NONE | フラグを許可しない |
FILTER_FLAG_ALLOW_OCTAL | 8進数としてゼロ(0)で始まる入力のみ。これだけ 後続の数字を0 ~ 7にすることができます |
FILTER_FLAG_ALLOW_HEX | 16進数として0x/0Xで始まる入力のみ。これだけ 後続の文字をa-fA-F0-9にすることができます |
FILTER_FLAG_STRIP_LOW | ASCII値が32未満の文字を取り除く |
FILTER_FLAG_STRIP_HIGH | ASCII値が127を超える文字を取り除く |
FILTER_FLAG_ENCODE_LOW | ASCII値が32未満の文字をエンコードする |
FILTER_FLAG_ENCODE_HIGH | ASCII値が127より大きい文字をエンコードする |
FILTER_FLAG_ENCODE_AMP | エンコード& |
FILTER_FLAG_NO_ENCODE_QUOTES | ' と " をエンコードしないでください |
FILTER_FLAG_EMPTY_STRING_NULL | 使用されていません |
FILTER_FLAG_ALLOW_FRACTION | 数字の小数区切りとしてピリオド(.を使用できます |
FILTER_FLAG_ALLOW_THOUSAND | カンマ(,)を数字の3桁ごとの区切り記号として使用できます |
FILTER_FLAG_ALLOW_SCIENTIFIC | 数字の科学表記法にeまたはEを使用できます |
FILTER_FLAG_PATH_REQUIRED | URLにはパス部分が含まれている必要があります |
FILTER_FLAG_QUERY_REQUIRED | URLにはクエリ文字列が含まれている必要があります |
FILTER_FLAG_IPV4 | IPアドレスをIPv4形式にすることを許可します |
FILTER_FLAG_IPV6 | IPアドレスをIPv6形式にすることを許可します |
FILTER_FLAG_NO_RES_RANGE | 予約された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_NO_PRIV_RANGE | プライベートIPv4範囲の検証に失敗: 10.0.0.0/8、172.16.0.0/12 および 192.168.0.0/16、および\FDまたはFCで始まるIPv6アドレスの場合 |
FILTER_FLAG_EMAIL_UNICODE | 電子メールアドレスのローカル部分にUnicode文字を含めることを許可します |
FILTER_REQUIRE_SCALAR | 値はスカラーでなければなりません |
FILTER_REQUIRE_ARRAY | 値は配列でなければなりません |
FILTER_FORCE_ARRAY | スカラー値をそのスカラー値のみを要素とする配列として扱います |
FILTER_NULL_ON_FAILURE | 認識されないブール値の失敗時NULLを返す |
FILTER_VALIDATE_BOOLEAN | ブール値を検証します |
FILTER_VALIDATE_EMAIL | 値が有効な電子メール アドレスであることを検証します |
FILTER_VALIDATE_FLOAT | 値をfloatとして検証します |
FILTER_VALIDATE_INT | 値を整数として検証します |
FILTER_VALIDATE_IP</td> | 値を IP アドレスとして検証します |
FILTER_VALIDATE_MAC | 値をMAC アドレスとして検証します |
FILTER_VALIDATE_REGEXP | 正規表現に対して値を検証します |
FILTER_VALIDATE_URL | 値をURLとして検証します |
FILTER_SANITIZE_EMAIL | 電子メール アドレスからすべての不正な文字を削除します |
FILTER_SANITIZE_ENCODED | 特殊文字を削除/エンコードします |
FILTER_SANITIZE_MAGIC_QUOTES | addslashes()を適用する |
FILTER_SANITIZE_NUMBER_FLOAT | 数字、+- 記号、およびオプションで.,eEを除くすべての文字を削除します |
FILTER_SANITIZE_NUMBER_INT | 数字と+ -記号を除くすべての文字を削除します |
FILTER_SANITIZE_SPECIAL_CHARS | 特殊文字を削除します |
FILTER_SANITIZE_STRING | 文字列からタグ/特殊文字を削除します |
FILTER_SANITIZE_STRIPPED | FILTER_SANITIZE_STRINGのエイリアス |
FILTER_SANITIZE_URL | URLからすべての不正な文字を削除します |
FILTER_UNSAFE_RAW | 何もせず、必要に応じて特殊文字を削除/エンコードします |
FILTER_CALLBACK | ユーザー定義関数を呼び出してデータをフィルター処理する |
プログラミング学習を加速させる
プログラミングをプロの講師に教えてもらいませんか。