filter_input
(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-
要么是选项的关联 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 & son. <a href='?search=Me%20%26%20son'>Search again.</a>
参见
- filter_input_array() - 获取一系列外部变量,并且可以通过过滤器处理它们
- filter_var() - 使用特定的过滤器过滤一个变量
- filter_var_array() - 获取多个变量并且过滤它们
-
验证过滤器
FILTER_VALIDATE_* -
清理过滤器
FILTER_SANITIZE_*