2011-05-17 95 views
0

Possible Duplicate:
Function ereg() is deprecated不推薦使用:功能額日格()

據我所知,在PHP ereg的新版本已經過時:下面

Deprecated: Function ereg() is deprecated

的代碼在老PHP的罰款。所以我換成eregpreg_match,現在我收到以下錯誤:

Warning: preg_match() [function.preg-match]: Unknown modifier '{' in

這裏是我的代碼...

if (!empty($searchval)) 
{ 
    if(ereg("[0-9]{5}", $searchval)) { 
     $zip = $searchval; 
    } 
    else { 
     $city = $searchval; 
    } 
} else 
{ 
    $error .= "<div id='Error'>Please enter zip</div>"; 
    $zip = false; 
} 

回答

2
if(preg_match("~\d{5}~", $searchval)) { 

左代碼保持不變

+0

太棒了!你的我的英雄。 – Greg 2011-05-17 00:53:36

2

preg_*()需要正則表達式的分隔符。

在大多數情況下,使用/,但只要它們匹配,您可以使用任何內容。 ~@是很常見的,因爲它們不可能出現在大多數正則表達式中。

2

你需要圍繞正則表達式用分隔符,如:

if(preg_match("/[0-9]{5}/", $searchval)) { 
1

您還沒有包含在您的正則表達式的分隔符。試試這個:

if (!empty($searchval)) 
{ 
    if(ereg("/[0-9]{5}/", $searchval)) { 
    $zip = $searchval; 
    } 
    else { 
    $city = $searchval; 
    } 
} else 
{ 
    $error .= "<div id='Error'>Please enter zip</div>"; 
    $zip = false; 
} 
相關問題