104 votes

Avertissement : preg_replace() : Modificateur inconnu 'g'

J'ai obtenu une erreur avec cette expression régulière...

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

Erreur

Avertissement: preg_replace(): Modificateur inconnu 'g' dans ....

Pourquoi ?

206voto

rid Points 24625

g est implicite avec preg_replace(). Vous n'avez pas besoin de l'inclure.

56voto

p.s.w.g Points 81433

Vous n'avez pas à spécifier le drapeau global. Selon la documentation, il existe un paramètre séparé ($limit) utilisé pour spécifier le nombre de remplacements à effectuer :

limite Le nombre maximal de remplacements possibles pour chaque motif dans chaque chaîne de sujet. Par défaut, -1 (pas de limite).

Donc, à moins de spécifier un nombre positif pour ce paramètre, il remplacera toutes les occurrences par défaut :

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

-2voto

Cparello Points 87

Il y a un / avant la lettre G dans la chaîne que vous remplacez.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X