我最近更新到PHP 5.3,并得到了一些不赞成的错误。preg_match()[function.preg-match]:未知的修饰符'@'
Warning: preg_match() [function.preg-match]: Unknown modifier '@' in
首先我想提一下,我已经检查了以前的链接并尝试了建议的内容。
preg_match(): Unknown modifier '@'和How can I convert ereg expressions to preg in PHP?
...但是,当我没有进行更改,从
function check_email_address($email) {
if (!ereg("^[^@]{1,64}@[^@]{1,255}$", $email)) {
到
function check_email_address($email) {
if (preg_match("/^[^@]{1,64}@[^@]{1,255}$/", $email)) {
,也试过
if (preg_match('/^[A-Z0-9._%+-][email protected][A-Z0-9.-]+\.[A-Z]{2,4}$/i', $email);
我的注册页面不接受电子邮件,并说有无效的电子邮件。
但与此同时警告"Unknown modifier '@'"
已经消失。
所以有些东西是对的,但仍然有点不对。只需要一点帮助。
任何建议或提示?
请勿使用正则表达式来验证电子邮件。使用'filter_var()'函数代替:'if(filter_var($ email,FILTER_VALIDATE_EMAIL)){// valid email}' –
[PHP使用preg \ _replace:“分隔符不能是字母数字或反斜杠”错误。 (http://stackoverflow.com/questions/2527657/php-using-preg-replace-delimiter-must-not-be-alphanumeric-or-backslash-error) – Toto