Maison > développement back-end > tutoriel php > Pourquoi est-ce que j'obtiens l'erreur « Modificateur inconnu 'g' dans preg_match » ?

Pourquoi est-ce que j'obtiens l'erreur « Modificateur inconnu 'g' dans preg_match » ?

Mary-Kate Olsen
Libérer: 2024-11-11 11:50:03
original
492 Les gens l'ont consulté

Why Am I Getting the

Dévoilement du mystère derrière le "Modificateur inconnu 'g' dans preg_match"

Lorsque vous travaillez avec des expressions régulières en PHP à l'aide de la fonction preg_match, vous peut rencontrer un message d'erreur indiquant "Modificateur inconnu 'g'". Ce problème concerne une syntaxe incorrecte dans l'expression régulière que vous utilisez.

Le problème

L'expression régulière que vous essayez d'utiliser contient le « g » modificateur (par exemple, /regex/gim) qui n'est pas reconnu par la fonction preg_match. Bien que certains sites Web de test d'expressions régulières en ligne puissent autoriser le modificateur « g », PHP ne le prend pas en charge dans ce contexte.

La solution

Pour résoudre ce problème, vous Vous pouvez utiliser la fonction preg_match_all à la place, qui prend en charge le modificateur 'g' pour faire correspondre plusieurs occurrences d'un modèle. Le modificateur 'g' introduit une recherche globale, indiquant que la fonction doit parcourir toute la chaîne et correspondre à toutes les occurrences du modèle.

Exemple

Au lieu de :

preg_match("/^(\w|\.|-)+?@(\w|-)+?\.\w{2,4}($|\.\w{2,4})$/gim", ....)
Copier après la connexion

Utilisation :

preg_match_all("/^(\w|\.|-)+?@(\w|-)+?\.\w{2,4}($|\.\w{2,4})$/im", ....)
Copier après la connexion

En remplaçant le modificateur 'g' par le modificateur 'm' dans la fonction preg_match_all, votre code fonctionnera comme prévu, correspondant à plusieurs occurrences du modèle d'adresse e-mail spécifié dans la chaîne d'entrée.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal