不推荐使用:函数ereg()

时间:2011-05-17 00:48:59

标签: php regex

  

可能重复:
  Function ereg() is deprecated

据我所知,在新版本的PHP ereg中已弃用:

  

不推荐使用:不推荐使用函数ereg()

以下代码在旧的PHP中运行良好。所以我将ereg替换为preg_match,我现在收到以下错误:

  

警告:preg_match()[function.preg-match]:

中的未知修饰符'{'

这是我的代码......

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;
}

4 个答案:

答案 0 :(得分:2)

preg_*()需要正则表达式的分隔符。

在大多数情况下,使用/,但您可以使用任何内容,只要它们匹配即可。 ~@很常见,因为它们不太可能出现在大多数正则表达式中。

答案 1 :(得分:2)

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

左侧代码保持不变

答案 2 :(得分:2)

您需要使用以下分隔符包围正则表达式:

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

答案 3 :(得分: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;
}