PHP中很屌但常被忽略的过滤器函数有哪些?

2018-09-1217:20:00后端程序开发Comments1,800 views字数 1381阅读模式

PHP有些函数被各种小伙伴用烂了。但是也有一些好函数经常被忽略,以至于有些功能其实PHP内置函数都能解决,而我们小伙伴依然会通过各种稀奇古怪的方法来绕弯走。这里我们说的最常见的就是过滤。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/4610.html

我写两个出来,大家体验一下。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/4610.html

一、filter_has_var 函数
譬如你还在用  if(isset($_GET[“name”]) 来判断GET参数 中有name这个参数吗? 或者post参数、或者cookie里

filter_has_var(INPUT_GET, ‘name’) 可以直接返回truefalse

第一个参数 可以填 INPUT_GET、 INPUT_POST、 INPUT_COOKIE、 INPUT_SERVER、 INPUT_ENV 
看英文你应该知道 是干啥的
二、filter_var 函数

你还在辛辛苦苦的用正则等方式 来验证 字符串是否为email格式吗?文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/4610.html

echo filter_var(‘shenyi@hishenyi.com, FILTER_VALIDATE_EMAIL);

如果OK 会返回原值,如果不OK 则返回false文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/4610.html

第二个参数有哪些?文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/4610.html

验证为主:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/4610.html

1、FILTER_VALIDATE_BOOLEAN   .当第一个参数是”1″, “true”, “on” and “yes” 这些字符串时会返回true .否则为false 。所以当用户输入一些 类似布尔类型的值时,你就无需一个个去写if else了。这个参数帮你搞定自动转换文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/4610.html

2、FILTER_VALIDATE_EMAIL  你懂得 ,上面已经演示过了。自己想文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/4610.html

3、FILTER_VALIDATE_FLOAT  你懂得文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/4610.html

4、FILTER_VALIDATE_INT 你懂得文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/4610.html

5、FILTER_VALIDATE_IP 你更加懂文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/4610.html

6、FILTER_VALIDATE_MAC  是否是mac地址。(不要认为是mac电脑,你觉得可能吗?)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/4610.html

7、FILTER_VALIDATE_REGEXP  判断是否是正则表达式(基于PCRE)。这个很有用哦。尤其做后台时,管理员可能需要进行正则内容的填写。你可以用来判断文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/4610.html

8、FILTER_VALIDATE_URL 是否是正规的URL文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/4610.html

三.净化过滤 (比较多,我挑几个比较屌的)

1、FILTER_SANITIZE_NUMBER_INT   过滤掉非数字型的内容。这个很屌哦文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/4610.html

echo filter_var(‘fuck123’, FILTER_SANITIZE_NUMBER_INT);   直接返回123 ,你懂的

2、FILTER_SANITIZE_MAGIC_QUOTES 看列子文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/4610.html

echo filter_var(“fuck’123”, FILTER_SANITIZE_MAGIC_QUOTES);   会输出fuck\’123 .好比执行了 addslashes()

3 、FILTER_SANITIZE_STRING  看例子文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/4610.html

echo filter_var(“<fuck>123</fuck>”, FILTER_SANITIZE_STRING);  会输出123


echo filter_var ( “fuck < 5 >6”, FILTER_SANITIZE_STRING); 会输出fuck6 .注意,你如果用 echo strip_tags($str); 是过滤不掉的哦

这个函数还有第三个参数的,可以用来控制一些默认值的返回。请亲自己动一下手。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/4610.html

  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/bc/4610.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定