获取错误mb_eregi():mbregex编译错误:重复操作符的目标无效

时间:2017-01-31 17:45:22

标签: php eregi

if(mb_eregi("\b{$value}\b",$tmp))
{
    $has_fw++;
    $tmp = mb_eregi_replace("\b({$value})\b","***",$tmp);
}

我无法在网络上找到有关此错误的任何内容。导致此错误的原因是什么?

1 个答案:

答案 0 :(得分:0)

尝试:

$match = sprintf('\b%s\b', $value);
$capture_match = sprintf('\b(%s)\b', $value);
if (mb_eregi($match, $tmp))
{
  $has_fw++;
  $tmp = mb_eregi_replace($capture_match, '***', $tmp);
}

在正则表达式中使用{}会使函数认为您在尝试查找重复值时看起来并不打算将{}用作正则表达式运算符,而是打算用它来计算$值,这不是正则表达式中的情况。