Filter php自带过滤函数

PHP Filter 简介

PHP 过滤器用于对来自非安全来源的数据(比如用户输入)进行验证和过滤。

是一个很有用的方法,但是自己用的很少.所以专门记录下.以后可以用

基本知识

INPUT_xxx  : 这种表示的是你要校验的参数是从哪里获得的.比如INPUT_GET,那么方法就会从$_GET中取对应的变量值进行校验

INPUT_XXX :

INPUT_GET

INPUT_POST

INPUT_COOKIE

INPUT_SERVER

INPUT_ENV

INPUT_SESSION (暂不可以用,应该是预定义出来的,我用的是php7.2.4)

INPUT_REQUEST (暂不可以用,应该是预定义出来的,我用的是php7.2.4)

option,注意这个选项只有当对应的校验规则符合的情况下才会生效,比如min_ranget只会校验数字

min_range:最小值,包含这个值

max_range:最大值,包含这个值

default:当校验不通过的时候的默认值

ucwords:返回的校验之后的值,首字母大写

filter_has_var(type, variable)检查是否存在指定输入类型的变量

Filter php自带过滤函数_第1张图片

案例:判断$_GET中有没有name这个变量

if (!filter_has_var(INPUT_GET, 'name')){

        throw new Exception('name null');

}

filter_id(filter_name)返回指定过滤器的 ID 号

没看出有什么实际的作用.注意这里的filter_name指的是从filter_list()函数来获取的过滤器的名称。

filter_list()返回包含所有得到支持的过滤器的一个数组。

我用php7.2.4获得下列这些过滤器

int,boolean,float,validate_regexp,validate_domain,validate_url,validate_email,validate_ip,validate_mac

,string,stripped,encoded,special_chars,full_special_chars,unsafe_raw,email,url,number_int,number_float

,magic_quotes,callback

Filter php自带过滤函数_第2张图片

查看详细的filter对应案例

需要特别了解的是

FILTER_CALLBACK:通过回调进行校验

Filter php自带过滤函数_第3张图片

注意:在实际使用的时候,对应的常量不是直接比如INT,而是需要加上前缀,前面都要加上FILTER_.剩下的后面我还没有找到规律.之后有再补充

filter_input(input_type, variable, filter, options)从外部获取输入,并进行过滤

Filter php自带过滤函数_第4张图片

input_type对应上面的INPUT_XXX

filter的可以上面filter_list()了解,这个字段其实就是指明你要校验时用的规则

Filter php自带过滤函数_第5张图片
校验邮箱


filter_input - Manual

filter_input_array(input_type, args)从脚本外部获取多项输入,并进行过滤

input_type对应上面的INPUT_XXX

Filter php自带过滤函数_第6张图片
Filter php自带过滤函数_第7张图片

filter_var_array(array, args)获取多项变量,并进行过滤

Filter php自带过滤函数_第8张图片

和filter_input_array类似,不同就是直接指定要校验的参数

$arr =[

"name" => "peter griffin",

"age" => "41",

"email" => "[email protected]",

];

filter_var(variable, filter, options)获取一个变量,并进行过滤

Filter php自带过滤函数_第9张图片

参考

PHP: 过滤器函数 - Manual

W3cSchool

你可能感兴趣的:(Filter php自带过滤函数)