(PHP 5 >= 5.2.0, PHP 7, PHP 8)
filter_input — 指定した名前の変数を外部から受け取り、オプションでそれをフィルタリングする
typeINPUT_*
のうちのひとつ。
フィルタされるスーパーグローバルの内容は、 ユーザーがスーパーグローバルに手を加える前の、 SAPI が提供する "生の" ものです。 変更されたスーパーグローバルの値をフィルタするには、 filter_var() を代わりに使います。
var_nametype に対応するスーパーグローバルに存在する、
フィルタする変数名。
filterFILTER_VALIDATE_*
のうちのいずれか。
除去フィルタの場合は
FILTER_SANITIZE_*
のうちのいずれか。
もしくは、FILTER_UNSAFE_RAW。
カスタムフィルタを指定する場合は
FILTER_CALLBACK。
注意: デフォルトは
FILTER_DEFAULTです。 これはFILTER_UNSAFE_RAWのエイリアスで、 デフォルトではフィルタリングは何も行われません。
optionsFILTER_FLAG_*
を指定したビットマスク。
filter がオプションを受け入れる場合、
フラグは配列の "flags"
フィールドを使って指定できます。
成功した場合はフィルタされた変数の値を返します。
変数が設定されていない場合は false を返します。
フィルタリングに失敗した場合にも false を返します。
FILTER_NULL_ON_FAILURE を使った場合は、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>
FILTER_VALIDATE_*
FILTER_SANITIZE_*