Maison > développement back-end > tutoriel php > Pourquoi preg_match renvoie-t-il une erreur « Modificateur inconnu 'g' » en PHP ?

Pourquoi preg_match renvoie-t-il une erreur « Modificateur inconnu 'g' » en PHP ?

Mary-Kate Olsen
Libérer: 2024-11-12 01:00:03
original
890 Les gens l'ont consulté

Why Does preg_match Throw an

Comprendre l'erreur "Modificateur inconnu 'g' dans..." lors de l'utilisation de preg_match en PHP

Lors de l'utilisation de la fonction preg_match dans PHP, vous pouvez rencontrer le message d'erreur "Modificateur inconnu 'g'". Ce problème déroutant peut survenir lorsque vous tentez d'utiliser le modificateur 'g' dans des expressions régulières.

Le modificateur 'g' dans les expressions régulières est généralement. utilisé pour la recherche globale afin de trouver toutes les occurrences d'un modèle dans une chaîne. Cependant, lorsqu'il est utilisé conjointement avec preg_match, ce modificateur n'est pas reconnu. La raison de cette différence provient d'un oubli dans l'implémentation de PHP, car preg_match ne prend en charge que le « i ». et 'm' modificateurs.

Pour résoudre ce problème et effectuer une recherche globale avec preg_match, vous devez plutôt utiliser la fonction preg_match_all. Cette fonction étend la fonctionnalité de preg_match en faisant correspondre toutes les occurrences d'un modèle dans une chaîne, fournissant la fonctionnalité de recherche globale souhaitée.

Par conséquent, pour corriger l'extrait de code que vous avez fourni et effectuer une recherche globale, modifiez la ligne contenant la fonction preg_match pour utiliser preg_match_all :

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

En utilisant preg_match_all avec les modificateurs appropriés, vous pouvez trouver avec succès toutes les occurrences du modèle d'adresse e-mail dans votre chaîne, évitant ainsi le message d'erreur "Modificateur inconnu 'g' dans...".

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