过滤变量

我测试了电子邮件字段的表单验证器并输入了很长的电子邮件

 $email = 'dfgjfdjglkdfjglkjdfgldfjglkdfjgkldfjlkgjdlkfjglkdfjkgdklfjgldkfjgldlfjgkldfjglkdfjglkdfklgjlkdfjkgkdfjlkgfjldkgkldjfgkljdfkgjlkdfgljdlf@mail.com';

在本地机器上函数filter_var返回带有email的字符串:

 $email = 'dfgjfdjglkdfjglkjdfgldfjglkdfjgkldfjlkgjdlkfjglkdfjkgdklfjgldkfjgldlfjgkldfjglkdfjglkdfklgjlkdfjkgkdfjlkgfjldkgkldjfgkljdfkgjlkdfgljdlf@mail.com';

 die(var_dump(filter_var($email, FILTER_VALIDATE_EMAIL)));

但在远程服务器上,此代码返回FALSE。

本地机器上的PHP版本 - 5.3.2-1ubuntu4.22

在远程机器上 - 5.3.28

在此版本的PHP之间是否已经更改了filter_var函数? 为什么我使用相同的代码接收不同的值?


自5.3.2以来FILTER_VALIDATE_EMAIL已经更新了几次(你真的应该更新你的版本)。 最值得注意的更新是这个bug-fix在输入/地址验证过长时导致seg-fault。
除了此修正(记录两次)外,Rasmus Lerdof在FILTER_VALIDATE_EMAIL返回误报。 虽然,AFAIKT,这不可能是你的困境的原因。
其他一些更改包括涉及特殊字符的错误?>1=
无论如何,要查看自PHP5.3.2以来的所有更改,只需检查其网站上的更新日志...

再次:更新您的本地版本,它变得相当过时。 鉴于你在运行ubuntu:

$ sudo apt-get install php5-dev
//optionally
$ sudo apt-get install php5-dev --install-suggests

如果你正在运行薄荷:

$ sudo apt-get install php5-dev --install-recommends --install suggests

在两个发行版上,最好先运行sudo apt-get update ,当然...


在PHP的更新日志中,您可以在您提到的版本之间至少看到两个问题(搜索FILTER_VALIDATE_EMAIL)。 这可能是进行更多搜索的起点。

那么更新你的本地PHP版本呢? 你用的那个很老...

链接地址: http://www.djcxy.com/p/92711.html

上一篇: filter var

下一篇: How to check data validity based on expected type?