(PHP 5 >= 5.2.0, PHP 7, PHP 8)
filter_input — 指定した名前の変数を外部から受け取り、オプションでそれをフィルタリングする
type
INPUT_GET、INPUT_POST、
INPUT_COOKIE、INPUT_SERVER あるいは
INPUT_ENV のいずれか。
var_name取得する変数の名前。
filter
適用するフィルタ。
FILTER_VALIDATE_* 定数の一つを用いた検証フィルタ、
FILTER_SANITIZE_* 定数の一つを用いた除去フィルタ、
FILTER_UNSAFE_RAW、
FILTER_CALLBACK を用いたカスタムフィルタのいずれかを指定できます。
デフォルトの値は 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>