加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

PHP实现数据过滤不用正则还有哪些办法

发布时间:2023-07-24 12:40:26 所属栏目:语言 来源:
导读:今天这篇给大家分享的知识是“PHP实现数据过滤不用正则还有哪些方法”,小编觉得挺不错的,对大家学习或是工作可能会有所帮助,对此分享发大家做个参考,希望这篇“PHP实现数据过滤不用正则还有哪些方

今天这篇给大家分享的知识是“PHP实现数据过滤不用正则还有哪些方法”,小编觉得挺不错的,对大家学习或是工作可能会有所帮助,对此分享发大家做个参考,希望这篇“PHP实现数据过滤不用正则还有哪些方法”文章能帮助大家解决问题。

在对用户输入数据进行过滤时通常都是自己写方法进行判断

比如验证邮箱的时候使用正则表达式

$pattern = "/\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/";

if (!preg_match($pattern, $email)) {

throw new \Exception(self::ERROR_PARAMETER_EMPTY . '_邮件格式有误:' . $email);

}

如果不用正则还有其它跟简单的方法吗?

使用filter相关函数

filter_has_var(type, variable) 是否存在指定类型的变量。

filter_input 从脚本外部获取输入,并进行过滤。

filter_input_array 从脚本外部获取多项输入,并进行过滤。

filter_var 获取一个变量,并进行过滤。

filter_var_array 获取多项变量,并进行过滤。

filter_has_var

判断$_GET 的结果是否包含name

if(!filter_has_var(INPUT_GET, "name"))

{

echo("name 不存在");

}

else

{

echo("name 存在");

}

filter_input

看一个验证邮箱的例子

if (!filter_input(INPUT_GET, 'email', FILTER_VALIDATE_EMAIL))

{

echo "E-Mail is not valid";

}

else

{

echo "E-Mail is valid";

}

filter_input_array

对整个input源进行过滤

$filters = array

(

"name" => array

(

"filter"=>FILTER_CALLBACK,

"flags"=>FILTER_FORCE_ARRAY,

"options"=>"ucwords"

),

"age" => array

(

"filter"=>FILTER_VALIDATE_INT,

"options"=>array

(

"min_range"=>1,

"max_range"=>120

)

),

"email"=> FILTER_VALIDATE_EMAIL,

);

print_r(filter_input_array(INPUT_POST, $filters));

filter_var,filter_var_array

不需要input源,直接对值进行过滤

if(!filter_var("someone@example....com", FILTER_VALIDATE_EMAIL))

{

echo("E-mail is not valid");

}

else

{

echo("E-mail is valid");

}

到此这篇关于“PHP实现数据过滤不用正则还有哪些方法”的文章就介绍到这了,更多相关内容请搜索群英网络以前的文章或继续浏览下面的相关文章,希望大家以后多多支持!

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章