Получение ошибки mb_eregi (): ошибка компиляции mbregex: недопустимая цель оператора повтора

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

Я не могу найти что-либо об этой ошибке в Интернете. Что вызывает эту ошибку?

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, которое это не так внутри регулярного выражения.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]