ereg已弃用转换

时间:2011-06-18 02:37:05

标签: php regex preg-match ereg

  

可能重复:
  Converting ereg expressions to preg

我需要将此处的ereg用法转换为更新的(因为不推荐使用ereg)。

这是我的代码当前所依赖的功能:

function ValidEmail($address)
{
    if( ereg( ".*<(.+)>", $address, $regs ) ) {
        $address = $regs[1];
    }

    if(ereg( "^[^@  ]+@([a-zA-Z0-9\-]+\.)+([a-zA-Z0-9\-]{2}|net|com|gov|mil|org|edu|int)\$",$address) ) 
        return true;
    else
        return false;
}

因为我没有正则表达式 - 有人可以帮助我将函数转换为功能完全相同但不使用已弃用函数的函数吗?感谢。

1 个答案:

答案 0 :(得分:1)

看起来我需要添加的是将ereg切换到preg_match并为每个模式添加分隔符:

function ValidEmail($address)
{
    if( preg_match( "/.*<(.+)>/", $address, $regs ) ) {
        $address = $regs[1];
    }

    if(preg_match( "/^[^@  ]+@([a-zA-Z0-9\-]+\.)+([a-zA-Z0-9\-]{2}|net|com|gov|mil|org|edu|int)\$/",$address) ) 
        return true;
    else
        return false;
}