Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php ereg是不推荐的转换_Php_Regex_Preg Match_Ereg - Fatal编程技术网

Php ereg是不推荐的转换

Php ereg是不推荐的转换,php,regex,preg-match,ereg,Php,Regex,Preg Match,Ereg,可能重复: 我需要将这里的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|go

可能重复:

我需要将这里的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;
}
函数ValidEmail($address)
{
if(ereg(“.*”,$address,$regs)){
$address=$regs[1];
}
如果(ereg(“^[^@]+@([a-zA-Z0-9\-]+\)+([a-zA-Z0-9\-]{2}net | com | gov | mil | org | edu | int)\$,$address))
返回true;
其他的
返回false;
}

由于我不使用正则表达式,有人能帮我将函数转换成功能完全相同但不使用弃用函数的函数吗?谢谢。

看起来我需要添加的只是将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;
}
函数ValidEmail($address)
{
if(preg_匹配(“/.*/”,$address,$regs)){
$address=$regs[1];
}
if(preg|u match(“/^[^@]+@([a-zA-Z0-9\-]+\)+([a-zA-Z0-9\-]{2}net | com | gov | mil | org | edu | int)\$/,$address))
返回true;
其他的
返回false;
}

ereg
更改为
preg\u match
并在不了解regex的情况下检查语法和选项,我不知道如何安全地将regex转换为preg\u match友好的格式。简单地用preg_match替换ereg是行不通的——我得到了未知的修饰符错误。