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", ....)
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!