filter_input

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

filter_input通过名称获取特定的外部变量,并且可以通过过滤器处理它

说明

filter_input(
    int $type,
    string $var_name,
    int $filter = FILTER_DEFAULT,
    array|int $options = 0
): mixed

参数

type
INPUT_* 常量之一。
警告

在用户对超全局变量进行任何修改之前,正在过滤的超全局变量内容是 SAPI 提供的原始“原始”内容。要过滤修改后的超全局变量,请使用 filter_var()

var_name
在相应 type 的超全局变量中要过滤的变量名称。
filter
要应用的过滤器。可以使用 FILTER_VALIDATE_* 常量作为验证过滤器,使用 FILTER_SANITIZE_*FILTER_UNSAFE_RAW 作为清理过滤器,也可以使用 FILTER_CALLBACK 作为自定义过滤器。

注意: 默认值为 FILTER_DEFAULT,是 FILTER_UNSAFE_RAW 的别名。这将导致默认情况下不进行过滤。

options
要么是选项的关联 array,要么是过滤器 flag 常量 FILTER_FLAG_* 的位掩码。 如果 filter 接受选项(option),则可以使用数组的 "flags" 字段提供 flag。

返回值

成功时返回过滤后的变量。如果变量未设置,则返回 false。失败时也返回 false,当使用 FILTER_NULL_ON_FAILURE flag 时返回 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>

参见