filter_input

指定した名前の変数を外部から受け取り、オプションでそれをフィルタリングする

説明

mixed filter_input(
    int $type,
    string $var_name,
    int $filter = FILTER_DEFAULT,
    arrayint $options = 0
)

パラメータ

type
定数 INPUT_* のうちのひとつ。
警告

フィルタされるスーパーグローバルの内容は、 ユーザーがスーパーグローバルに手を加える前の、 SAPI が提供する "生の" ものです。 変更されたスーパーグローバルの値をフィルタするには、 filter_var を代わりに使います。

var_name
type に対応するスーパーグローバルに存在する、 フィルタする変数名。
filter
適用するフィルタ。 検証フィルタの場合は FILTER_VALIDATE_* のうちのいずれか。 除去フィルタの場合は FILTER_SANITIZE_* のうちのいずれか。 もしくは、FILTER_UNSAFE_RAW。 カスタムフィルタを指定する場合は FILTER_CALLBACK

注意: デフォルトは FILTER_DEFAULT です。 これは FILTER_UNSAFE_RAW のエイリアスで、 デフォルトではフィルタリングは何も行われません。

options
オプションの連想配列。 または、フラグ定数 FILTER_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 &#38; son.
<a href='?search=Me%20%26%20son'>Search again.</a>

参考

  • filter_input_array
  • filter_var
  • filter_var_array
  • 検証フィルタ FILTER_VALIDATE_*
  • 除去フィルタ FILTER_SANITIZE_*