(PHP 5 >= 5.2.0, PHP 7, PHP 8)
filter_input — 指定した名前の変数を外部から受け取り、オプションでそれをフィルタリングする
$type
,$var_name
,$filter
= FILTER_DEFAULT
,$options
= 0
type
INPUT_GET
、INPUT_POST
、
INPUT_COOKIE
、INPUT_SERVER
あるいは
INPUT_ENV
のいずれか。
var_name
取得する変数の名前。
filter
適用するフィルタの ID。フィルタの型 に、利用できるフィルタの一覧があります。
省略した場合は FILTER_DEFAULT
を使います。これは
FILTER_UNSAFE_RAW
と同等です。
結果的に、デフォルトでは何もフィルタリングをしません。
options
オプションあるいはフラグの論理和の連想配列。 オプションを指定可能なフィルタの場合、この配列の "flags" フィールドにフラグを指定します。
成功した場合は要求された変数の値、フィルタリングに失敗した場合に false
、
あるいは変数 var_name
が設定されていない場合に
null
を返します。フラグ FILTER_NULL_ON_FAILURE
が指定されている場合は、変数が設定されていなければ false
、
フィルタリングに失敗したら null
を返します。
例1 filter_input() の例
<?php
$search_html = filter_input(INPUT_GET, 'search', FILTER_SANITIZE_SPECIAL_CHARS);
$search_url = filter_input(INPUT_GET, 'search', FILTER_SANITIZE_ENCODED);
echo "You have searched for $search_html.\n";
echo "<a href='?search=$search_url'>Search again.</a>";
?>
上の例の出力は、 たとえば以下のようになります。
You have searched for Me & son. <a href='?search=Me%20%26%20son'>Search again.</a>