J'ai une erreur de cette regex ..
$strTmp = preg_replace('~(<\/CharacterStyleRange>(.*?)\n*</CharacterStyleRange>)~gim ' , "</CharacterStyleRange>", $strTmp);
erreur
Attention: preg_replace (): modificateur inconnu 'g' dans ....
pourquoi?
g
est implicite avec preg_replace()
, vous n'avez pas besoin de l'inclure.
Vous n'avez pas à spécifier l'indicateur global. Dans documentation , il existe un paramètre distinct ($limit
) utilisé pour spécifier le nombre de remplacements à effectuer:
limite
Nombre maximal de remplacements possibles pour chaque modèle dans chaque chaîne de sujet. La valeur par défaut est -1 (aucune limite).
Donc, sauf si vous spécifiez un nombre positif pour ce paramètre, toutes les occurrences seront remplacées par défaut:
$strTmp = preg_replace('~(<\/CharacterStyleRange>(.*?)\n*</CharacterStyleRange>)~im ' , "</CharacterStyleRange>", $strTmp);
il y a un/avant une lettre G dans la chaîne que vous remplacez