繁体   English   中英

php,用php 5.3兼容代码替换代码

[英]php , replace code with php 5.3 compatible code

我需要重写此功能以与php 5.3兼容

function fns_data($address)
{
if (ereg("^[a-zA-Z0-9_\.\-]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$", $address))
{return true;}
return false;
}

有人可以帮忙吗?

谢谢

签出filter_var(),这是PHP 5.2.0版的新增功能:

function fns_data($address)  {  
    return filter_var($address, FILTER_VALIDATE_EMAIL);
}

通常,将ereg更改为preg通常(将其重命名为“ preg_match”并在模式的开头和结尾添加/一样简单)。 由于您的模式(相对)很简单:

function fns_data($address) {
   if (preg_match('/^[a-zA-Z0-9_\.\-]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$/', $address)) {
       return true;
   }
   return false;
}

首先,不要使用ereg,而是使用preg_replace,并使用正确的电子邮件正则表达式,例如:

function fns_data($address) {
    if (preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/", $address))
        return true;

    return false;
}

更好的是,您现在可以使用过滤器

function fns_data($address) {
    return filter_var($address, FILTER_VALIDATE_EMAIL);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM