Voici l'expression régulière que j'essaie d'utiliser:
/^(\w|\.|-)+?@(\w|-)+?\.\w{2,4}($|\.\w{2,4})$/gim
Je l'ai trouvé sur ce site , et cela fonctionne très bien quand je l'essaie là-bas. Mais dès que je le place dans mon code, je reçois ce message:
Warning: preg_match() [function.preg-match]: Unknown modifier 'g' in C:\xampp\htdocs\swebook\includes\classes.php on line 22
Quelqu'un peut-il expliquer ce qui ne va pas et pourquoi cela fonctionne sur ce site Web et non dans mon code?
Il n'y a pas de modificateur g
pour preg_match
. Au lieu de cela, vous devez utiliser le preg_match_all
fonction.
Donc au lieu de:
preg_match("/^(\w|\.|-)+?@(\w|-)+?\.\w{2,4}($|\.\w{2,4})$/gim", ....)
utilisation:
preg_match_all("/^(\w|\.|-)+?@(\w|-)+?\.\w{2,4}($|\.\w{2,4})$/im", ....)