2011-06-18 40 views
-1

可能重複:
Converting ereg expressions to preg額日格已被棄用轉換

我需要的額日格使用此轉換成更多的東西電流(因爲EREG是過時了)。

這裏是我的代碼,目前依賴的功能:

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

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

,因爲我不正則表達式 - 可能有人幫我轉換功能的東西,功能完全相同的方式,但沒有使用過時的功能?謝謝。

+0

變化'ereg'到'preg_match'和檢查在http的語法和選項:// au.php.net/manual/en/function.preg-match.php – pavium

+0

不知道正則表達式,我不知道如何安全地將正則表達式轉換爲preg_match友好的東西。簡單地用preg_match替換ereg不起作用 - 我收到未知的修飾符錯誤。 – doremi

回答

1

貌似所有我需要添加了開關額日格到的preg_match和分隔字符添加到每個模式:

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

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