Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.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 - Fatal编程技术网

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

Php 不推荐使用:函数ereg(),php,regex,Php,Regex,可能重复: 我知道在新版PHPereg中不推荐使用: 已弃用:函数ereg()已弃用 下面的代码在旧PHP中运行良好。因此,我将ereg替换为preg\u match,现在我得到以下错误: 警告:preg_match()[function.preg match]:中的未知修饰符“{” 这是我的密码 if (!empty($searchval)) { if(ereg("[0-9]{5}", $searchval)) { $zip = $searchval; }

可能重复:

我知道在新版PHP
ereg
中不推荐使用:

已弃用:函数ereg()已弃用

下面的代码在旧PHP中运行良好。因此,我将
ereg
替换为
preg\u 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;
}
if(!empty($searchval))
{
if(ereg(“[0-9]{5}”,$searchval)){
$zip=$searchval;
}
否则{
$city=$searchval;
}
}否则
{
$error.=“请输入zip”;
$zip=false;
}
preg_*()
需要一个用于正则表达式的分隔符

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

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

左侧代码保持不变

您需要在正则表达式周围加一个分隔符,如:

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

您的正则表达式中没有包含分隔符。请尝试以下操作:

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;
}
if(!empty($searchval))
{
如果(ereg(“/[0-9]{5}/”,$searchval)){
$zip=$searchval;
}
否则{
$city=$searchval;
}
}否则
{
$error.=“请输入zip”;
$zip=false;
}

太棒了!你是我的英雄。