(PHP 5 >= 5.2.0, PHP 7, PHP 8)
filter_input — 通过名称获取特定的外部变量,并且可以通过过滤器处理它
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
接受选项(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 & son. <a href='?search=Me%20%26%20son'>Search again.</a>
FILTER_VALIDATE_*
FILTER_SANITIZE_*