PHP 常用过滤器
PHP 常用过滤器
平时用到的框架,基本都实现了表单验证,探究一下他们的代码,就会发现,使用了大量的过滤器和正则。果然PHP是世界上最好的语言!!!哈哈哈
filter_has_var
笨拙的方法
1 | if(isset($_GET["name"]) |
最好的语言提供的方法
1 | filter_has_var(INPUT_GET, "name") |
返回值:
成功时返回 TRUE, 或者在失败时返回 FALSE。
第一个参数可以填入的值有,看英文应该懂是啥意思吧ヽ(ー_ー)ノ
type |
---|
INPUT_GET |
INPUT_POST |
INPUT_COOKIE |
INPUT_SERVER |
INPUT_ENV |
filter_var
笨拙的方法
1 | 疯狂正则,疯狂字符串拆解 |
优秀的语言提供的方法
1 | filter_var("hhh@qq.com", FILTER_VALIDATE_EMAIL); |
返回值:
如果OK 会返回原值,如果不OK 则返回false
验证过滤
FILTER | DESC |
---|---|
FILTER_VALIDATE_BOOLEAN | 当第一个参数是”1″, “true”, “on” and “yes” 这些字符串时会返回true .否则为false |
FILTER_VALIDATE_EMAIL | 验证是否邮箱地址 |
FILTER_VALIDATE_FLOAT | 浮点 |
FILTER_VALIDATE_INT | 整形 |
FILTER_VALIDATE_IP | IP地址 |
FILTER_VALIDATE_MAC | 物理MAC地址 |
FILTER_VALIDATE_REGEXP | 正则表达式 |
FILTER_VALIDATE_URL | URL网址 |
净化过滤,常用的几个
FILTER | DESC | EXEMPLE |
---|---|---|
FILTER_SANITIZE_NUMBER_INT | 过滤掉非数字型的内容 | filter_var('test123', FILTER_SANITIZE_NUMBER_INT) 返回”123” |
FILTER_SANITIZE_MAGIC_QUOTES | 对字符串执行 addslashes() 函数 | filter_var("test'456", FILTER_SANITIZE_MAGIC_QUOTES) 返回”test'456” |
FILTER_SANITIZE_STRING | 过滤器去除或编码不需要的字符 | filter_var("<script>alert('xss')</script>", FILTER_SANITIZE_STRING) 返回”alert('xss')” |
如果想要了解更多的话,查看官方文档是最好的选择
https://www.php.net/manual/zh/function.filter-var.php
多动手才是最好的学习途径,加油
自己动手,丰衣足食 示例代码:https://github.com/lihq1403/gadget/blob/master/filter-function/filter.php
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Lihq - Blog!
评论