フィルタ関数とは? わかりやすく解説

Weblio 辞書 > コンピュータ > PHP関数リファレンス > フィルタ関数の意味・解説 

フィルタ関数

導入

この拡張モジュールは、 ユーザ入力などのセキュアでないデータの検証およびフィルタリングを行います。
現在存在するのは、以下のフィルタです。各定数の振る舞いについての説明は フィルタ定数 の節を参照ください。 表 93. 存在するフィルタ
ID名前オプションフラグ説明
FILTER_VALIDATE_INT"int" min_range, max_range FILTER_FLAG_ALLOW_OCTAL, FILTER_FLAG_ALLOW_HEX 値が整数であるかどうか、オプションで指定した範囲内にあるかどうかを検証します。
FILTER_VALIDATE_BOOLEAN"boolean"   "1"、"true"、"on" および "yes" の場合に TRUE、 "0"、"false"、"off"、"no" および "" の場合に FALSE、 そしてそれ以外の場合に NULL を返します。
FILTER_VALIDATE_FLOAT"float"  値が float であるかどうかを検証します。
FILTER_VALIDATE_REGEXP"validate_regexp" regexp   値が、Perl 互換の 正規表現 regexp に一致するかどうかを検証します。
FILTER_VALIDATE_URL"validate_url"  FILTER_FLAG_SCHEME_REQUIRED, FILTER_FLAG_HOST_REQUIRED, 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 関数あるいはメソッドユーザ定義の関数をコールしてデータをフィルタリングします。


要件

外部ライブラリを必要としません。

インストール手順

簡単なインストールメモ。コンソールで、ただ単に
$ pecl install filter
  
とタイプします。

実行時設定

php.ini の設定により動作が変化します。
表 94. フィルタ設定オプション
名前デフォルト変更の可否変更履歴
filter.defaultunsafe_rawPHP_INI_PERDIR 
filter.default_flags PHP_INI_PERDIR 

PHP_INI_* 定数の詳細および定義については 付録 G. php.ini ディレクティブ を参照してください。
以下に設定ディレクティブに関する 簡単な説明を示します。
filter.default string
このフィルタで $_GET, $_POST, $_COOKIE および $_REQUEST のすべてのデータをフィルタリングします。 もとのデータへは filter_input() でアクセスが可能です。
デフォルトで使用するフィルタの名前を指定することができます。 既存のフィルタの一覧を参照し、フィルタ名を指定してください。
filter.default_flags integer
デフォルトのフラグ。

リソース型

リソース型は定義されていません。

定義済み定数

以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。
INPUT_POST (integer)
POST 変数。
INPUT_GET (integer)
GET 変数。
INPUT_COOKIE (integer)
COOKIE 変数。
INPUT_ENV (integer)
ENV 変数。
INPUT_SERVER (integer)
SERVER 変数。
INPUT_SESSION (integer)
SESSION 変数 (まだ実装されていません)。
INPUT_REQUEST (integer)
REQUEST 変数 (まだ実装されていません)。
FILTER_FLAG_NONE (integer)
フィルタしない。
FILTER_REQUIRE_SCALAR (integer)
入力値としてスカラーを要求するために使用するフラグ。
FILTER_REQUIRE_ARRAY (integer)
入力として配列を要求します。
FILTER_FORCE_ARRAY (integer)
常に配列として返します。
FILTER_NULL_ON_FAILURE (integer)
失敗した場合に FALSE ではなく NULL を使用します。
FILTER_VALIDATE_INT (integer)
"int" フィルタの ID。
FILTER_VALIDATE_BOOLEAN (integer)
"boolean" フィルタの ID。
FILTER_VALIDATE_FLOAT (integer)
"float" フィルタの ID。
FILTER_VALIDATE_REGEXP (integer)
"validate_regexp" フィルタの ID。
FILTER_VALIDATE_URL (integer)
"validate_url" フィルタの ID。
FILTER_VALIDATE_EMAIL (integer)
"validate_email" フィルタの ID。
FILTER_VALIDATE_IP (integer)
"validate_ip" フィルタの ID。
FILTER_DEFAULT (integer)
デフォルト ("string") フィルタの ID。
FILTER_UNSAFE_RAW (integer)
"unsafe_raw" フィルタの ID。
FILTER_SANITIZE_STRING (integer)
"string" フィルタの ID。
FILTER_SANITIZE_STRIPPED (integer)
"stripped" フィルタの ID。
FILTER_SANITIZE_ENCODED (integer)
"encoded" フィルタの ID。
FILTER_SANITIZE_SPECIAL_CHARS (integer)
"special_chars" フィルタの ID。
FILTER_SANITIZE_EMAIL (integer)
"email" フィルタの ID。
FILTER_SANITIZE_URL (integer)
"url" フィルタの ID。
FILTER_SANITIZE_NUMBER_INT (integer)
"number_int" フィルタの ID。
FILTER_SANITIZE_NUMBER_FLOAT (integer)
"number_float" フィルタの ID。
FILTER_SANITIZE_MAGIC_QUOTES (integer)
"magic_quotes" フィルタの ID。
FILTER_CALLBACK (integer)
"callback" フィルタの ID。
FILTER_FLAG_ALLOW_OCTAL (integer)
"int" フィルタで 8 進表記 (0[0-7]+) を許可します。
FILTER_FLAG_ALLOW_HEX (integer)
"int" フィルタで 16 進表記 (0x[0-9a-fA-F]+) を許可します。
FILTER_FLAG_STRIP_LOW (integer)
ASCII 値が 32 未満の文字を取り除きます。
FILTER_FLAG_STRIP_HIGH (integer)
ASCII 値が 127 より大きい文字を取り除きます。
FILTER_FLAG_ENCODE_LOW (integer)
ASCII 値が 32 未満の文字をエンコードします。
FILTER_FLAG_ENCODE_HIGH (integer)
ASCII 値が 127 より大きい文字をエンコードします。
FILTER_FLAG_ENCODE_AMP (integer)
& をエンコードします。
FILTER_FLAG_NO_ENCODE_QUOTES (integer)
' および " をエンコードしません。
FILTER_FLAG_EMPTY_STRING_NULL (integer)
(現在は使用されていません)
FILTER_FLAG_ALLOW_FRACTION (integer)
"number_float" フィルタで小数を許可します。
FILTER_FLAG_ALLOW_THOUSAND (integer)
"number_float" フィルタで桁区切り文字 (,) を許可します。
FILTER_FLAG_ALLOW_SCIENTIFIC (integer)
"number_float" フィルタで科学記法 (e, E) を許可します。
FILTER_FLAG_SCHEME_REQUIRED (integer)
"validate_url" フィルタでスキームを必須とします。
FILTER_FLAG_HOST_REQUIRED (integer)
"validate_url" フィルタでホスト名を必須とします。
FILTER_FLAG_PATH_REQUIRED (integer)
"validate_url" フィルタでパスを必須とします。
FILTER_FLAG_QUERY_REQUIRED (integer)
"validate_url" フィルタでクエリ文字列を必須とします。
FILTER_FLAG_IPV4 (integer)
"validate_ip" フィルタで IPv4 アドレスのみを許可します。
FILTER_FLAG_IPV6 (integer)
"validate_ip" フィルタで IPv6 アドレスのみを許可します。
FILTER_FLAG_NO_RES_RANGE (integer)
"validate_ip" フィルタで予約済みアドレスを拒否します。
FILTER_FLAG_NO_PRIV_RANGE (integer)
"validate_ip" フィルタでプライベートアドレスを拒否します。

目次

filter_has_var — 指定した型の変数が存在するかどうかを調べる
filter_id — フィルタの名前からフィルタ ID を返す
filter_input_array — PHP の外部から複数の変数を受け取り、オプションでそれらをフィルタリングする
filter_input — PHP の外部から変数を受け取り、オプションでそれをフィルタリングする
filter_list — サポートされるフィルタの一覧を返す
filter_var_array — 複数の変数を受け取り、オプションでそれらをフィルタリングする
filter_var — 指定したフィルタでデータをフィルタリングする


このページでは「PHP関数リファレンス」からフィルタ関数を検索した結果を表示しています。
Weblioに収録されているすべての辞書からフィルタ関数を検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からフィルタ関数を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

フィルタ関数のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



フィルタ関数のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
PHP Documentation GroupPHP Documentation Group
Copyright © 1997 - 2024 by the PHP Documentation Group.

©2024 GRAS Group, Inc.RSS