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是行不通的——我得到了未知的修饰符错误。