ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

php菜狗学习过滤器基础

2021-06-14 15:30:18  阅读:220  来源: 互联网

标签:validate 菜狗 ID FILTER 过滤器 array php filter


php过滤器是用来验证和过滤用户的输入数据,或者说是来自非安全来源的数据.

1.filter_var过滤验证单个变量

检查一个变量是否符合过滤规则,参数1,2必须,参数三可选。返回过滤后的数据,如果过滤失败则返回 false 。

<?php
//验证一个变量是不是整数且符合规范
$a = 99;
$result = filter_var($a,FILTER_VALIDATE_INT,array(
	"options"=>array(
		"min_range"=>18,
		"max_range"=>99
	)
));
if(!$result){
	echo "$a不符合规范";
}else{
	echo "$a 符合规范,18<=$a<=99";
}
?>

//输出99 符合规范,18<=99<=99

2.filter_var_array(array,filters[,add_empty])过滤验证多个变量

将多个值值使用多个或同一个过滤器过滤
array参数是数组,键是变量名,值就是变量值;filters也是数组,键是对应array参数的键,每个键可以添加filterid,选项options,标签,

<?php
$vars = array(
	"name"=>"aa<script>",
	"age"=>48,
	"gender"=>0
);
function genddeng($str){
	if($str==0){
		return "boy";	
	}else{
		return "girl";	
	}
}
$filtar = array(
	"name"=>FILTER_SANITIZE_ENCODED,
	"age"=>array(
		"filter"=>FILTER_VALIDATE_INT,
		"options"=>array(
			"min_range"=>18,
			"max_range"=>48
		)
	),
	"gender"=>array(
		"filter"=>FILTER_CALLBACK,
		"options"=>"genddeng"
	)
);
$mes = filter_var_array($vars, $filtar);
var_dump($mes);
?>

//结果
array(3) {
  ["name"]=>
  string(14) "aa%3Cscript%3E"
  ["age"]=>
  int(48)
  ["gender"]=>
  string(3) "boy"
}

3.filter_id(过滤器名称),获取过滤器名称对应的过滤器的 ID

获取过滤器名称对应的id号,过滤器名称不是FILTER_VALIDATE_EMAIL,FILTER_VALIDATE_URL这样的过滤器ID 名称
过滤器的 ID 号主要是为了更便捷[也更难记忆这些号码],比如过滤器FILTER_VALIDATE_EMAIL的过滤器的 ID 号是274,过滤器名称是validate_email

<?php
echo(filter_id("validate_email"));

//输出274
?>

4.filter_list()列出所有的过滤器 名称

这里再次强调过滤器名称不是过滤器id名
例子:
过滤器的 ID: FILTER_VALIDATE_EMAIL
过滤器的ID号: 274
过滤器名称: validate_email

<?php
print_r(filter_list());
?>
//输出
Array
 (
 [0] => int
 [1] => boolean
 [2] => float
 [3] => validate_regexp
 [4] => validate_url
 [5] => validate_email
 [6] => validate_ip
 [7] => string
 [8] => stripped
 [9] => encoded
 [10] => special_chars
 [11] => unsafe_raw
 [12] => email
 [13] => url
 [14] => number_int
 [15] => number_float
 [16] => magic_quotes
 [17] => callback
 )

还有其他的有空再搞…https://www.rfbynet.club是我的网站

标签:validate,菜狗,ID,FILTER,过滤器,array,php,filter
来源: https://blog.csdn.net/gfhj778/article/details/117904443

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有