php强大的filter过滤用户输入

Posted DrKang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php强大的filter过滤用户输入相关的知识,希望对你有一定的参考价值。

<?php
$filters = array                    //定义过滤的数组
(
    "name" => array
    (
        "filter"=>FILTER_SANITIZE_STRING
    ),
    "age" => array
    (
        "filter"=>FILTER_VALIDATE_INT,      //下面的option是FILTER_VALIDATE_INT的过滤选项,查手册可以用到,
        "options"=>array              //每个过滤器都可用不同的过滤选项
        (
            "min_range"=>1,
            "max_range"=>120
        )
    ),
    "email"=> FILTER_VALIDATE_EMAIL
);
 
$result = filter_input_array(INPUT_GET, $filters);  //右边接入过滤的数组
 
if (!$result["age"])
{
    echo("年龄必须在 1 到 120 之间。<br>");
}
elseif(!$result["email"])
{
    echo("E-Mail 不合法<br>");
}
else
{
    echo("输入正确");
}
?>

 

自定义过滤器的方法:

<?php
function convertSpace($string)
{
    return str_replace("_", ".", $string);
}
 
$string = "www_fucktworld_com!";
 
echo filter_var($string, FILTER_CALLBACK,
array("options"=>"convertSpace"));
?>

上面代码的结果如下所示:

www.fuckworld.com
上面的实例把所有 "_" 转换成 "." :
创建一个把 "_" 替换为 "." 的函数
调用 filter_var() 函数,它的参数是 FILTER_CALLBACK 过滤器以及包含我们的函数的数组




以上是关于php强大的filter过滤用户输入的主要内容,如果未能解决你的问题,请参考以下文章

雷林鹏分享:PHP Filter 函数

php 基础复习 2018-06-20

使用 PHP 过滤器(Filter)进行严格表单验证

php用函数判断用户输入信息是否为邮箱

PHP FILTER_CALLBACK 过滤器

PHP过滤器,如何过滤输入数组