据我所知,在新版本的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;
}
答案 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;
}