Maison  >  Article  >  développement back-end  >  Pourquoi est-ce que j'obtiens « Modificateur inconnu 'g' dans preg_match » et comment puis-je y remédier ?

Pourquoi est-ce que j'obtiens « Modificateur inconnu 'g' dans preg_match » et comment puis-je y remédier ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-13 10:31:02692parcourir

Why Am I Getting

Résolution du "Modificateur inconnu 'g' dans preg_match en PHP"

En explorant les subtilités des expressions régulières, vous avez peut-être rencontré une erreur message indiquant "Modificateur inconnu 'g' dans..." lors de l'utilisation de preg_match. Ce problème survient lorsque vous tentez d'utiliser le modificateur « g » dans votre modèle d'expression régulière. Cependant, il n'y a pas de modificateur 'g' dans preg_match.

Pour résoudre ce problème, vous devez plutôt passer à la fonction preg_match_all. Contrairement à preg_match, qui recherche la première occurrence du modèle et renvoie une valeur booléenne, preg_match_all recherche toutes les occurrences du modèle et renvoie un tableau de correspondances.

Modèle Regex correctement modifié

Votre modèle d'expression régulière d'origine est :

/^(\w|\.|-)+?@(\w|-)+?\.\w{2,4}($|\.\w{2,4})$/gim

Pour utiliser ce modèle avec preg_match_all, modifiez-le comme suit :

/^(\w|\.|-)+?@(\w|-)+?\.\w{2,4}($|\.\w{2,4})$/im

Code révisé

Remplacez votre appel preg_match d'origine par ce qui suit :

preg_match_all("/^(\w|\.|-)+?@(\w|-)+?\.\w{2,4}($|\.\w{2,4})$/im", ....)

En effectuant ce simple ajustement, vous pouvez éliminer l'erreur "'g' modificateur non pris en charge" et traiter correctement plusieurs occurrences du modèle dans votre chaîne.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn