Я получил сообщение об ошибке этого регулярного выражения.
$strTmp = preg_replace('~(<\/CharacterStyleRange>(.*?)\n*</CharacterStyleRange>)~gim ' , "</CharacterStyleRange>", $strTmp);
ошибка
Предупреждение : preg_replace (): Неизвестный модификатор 'g' в ….
Зачем?
g
неявно с preg_replace()
, вам не нужно включать его.
Вам не нужно указывать глобальный флаг. Из документации имеется отдельный параметр ( $limit
), используемый для указания количества замен:
предел
Максимально возможные замены для каждого шаблона в каждой строке темы. По умолчанию -1 (без ограничений).
Таким образом, если вы не укажете положительное число для этого параметра, оно заменит все случаи по умолчанию:
$strTmp = preg_replace('~(<\/CharacterStyleRange>(.*?)\n*</CharacterStyleRange>)~im ' , "</CharacterStyleRange>", $strTmp);