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

我无法在网上找到有关此错误的任何信息。是什么导致了这个错误?

4

1 回答 1

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

在正则表达式中使用 {} 会使函数认为您正在尝试查找重复值,而您似乎并不打算将 {} 用作正则表达式运算符,而是打算将其计算为 $value,这不是正则表达式内部的情况。

于 2017-02-02T18:53:11.897 回答