PHP filter_put()函数通过名称获取特定的外部变量,并选择性地对其进行过滤。
语法
filter_input(type, var_name, filter, options)
参数
type | 必需. 指定输入类型,它可以是以下其中一种:
|
var_name | 必需. 指定要检查的变量名 |
filter | 可选. 指定要应用的过滤器的ID。请参阅过滤器列表。如果省略,将使用FILTER_DEFAULT,相当于FILTER_UNSAFE_RAW。这将导致默认情况下不进行过滤。 |
options | 可选. 指定选项的关联数组或标志的逐位析取。如果过滤器接受选项,则可以在数组的“flags”字段中提供标志。 |
返回值
成功时返回变量的值,如果筛选器失败则返回false,如果未设置var_name变量则返回null。如果使用FILTER_NUL_ON_FAILURE标志,则如果未设置变量,则返回false;如果过滤器失败,则返回NULL。
例子: 验证电子邮箱
在下面的示例中,filter_put() 函数用于验证电子邮件。
<?php
//使用过滤器验证电子邮件
if (isset($_GET["email"])) {
if (!filter_input(INPUT_GET, "email",
FILTER_VALIDATE_EMAIL) === false) {
echo("Email is valid");
} else {
echo("Email is not valid");
}
}
?>
输出:
Email is valid
例子: filter_input() 例子
在下面的示例中,filter_put()函数用于清除给定的变量。
<?php
//输入类型:INPUT_GET,输入名称:search
//过滤器名称:FILTER_SANITIZE_SPECIAL_CHARS
$search_html = filter_input(INPUT_GET, 'search',
FILTER_SANITIZE_SPECIAL_CHARS);
//输入类型:INPUT_GET,输入名称:search
//过滤器名称:FILTER_SANITIZE_ENCODED
$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>