试图检查字符串的模式。
$variable = '[text]';
if (eregi("/(\[(.*?)\])/", $variable)) {}
此代码给出错误eregi() [function.eregi]: REG_BADRPT
解决方案是什么?
这是因为您在 eregi 中使用了 preg 样式表达式。您不需要 perl 风格的分隔符。
然而,正如 Mark Byers 所说,使用 preg_match 是未来的证明。
<?php
$variable = '[text]';
if (preg_match("/(\[(.*?)\])/", $variable)) {
echo 'ok';
}
澄清一下,珍珠样式的定界符是两个斜线。这是 ereg 语法的样子:
<?php
$str = 'abc';
if (ereg('a', $str))
{
echo 'match found'; // match found
}
?>
我没有像往常一样使用正则表达式,只是为了简单起见。
我还想提一下,还有一些仍然有效的多字节 ereg 函数,例如mb_ereg。