Подтвердить что ты не робот

Предупреждение: preg_replace(): Неизвестный модификатор 'g'

Я получил ошибку этим регулярным выражением...

$strTmp = preg_replace('~(<\/CharacterStyleRange>(.*?)\n*</CharacterStyleRange>)~gim ' , "</CharacterStyleRange>", $strTmp);

ошибка

Предупреждение: preg_replace(): неизвестный модификатор 'g' в....

Зачем?

4b9b3361

Ответ 1

g подразумевается с preg_replace(). Вам не нужно включать это.

Ответ 2

Вам не нужно указывать глобальный флаг. Из документации есть отдельный параметр ($limit), используемый для указания количества замен:

limit Максимально возможные замены для каждого шаблона в каждой строке темы. По умолчанию -1 (без ограничений).

Таким образом, если вы не укажете положительное число для этого параметра, он заменит все вхождения по умолчанию:

$strTmp = preg_replace('~(<\/CharacterStyleRange>(.*?)\n*</CharacterStyleRange>)~im ' , "</CharacterStyleRange>", $strTmp);

Ответ 3

Существует / перед буквой G в строке вы заменяющая.