"Unknown modifier 'g' in..." when using preg_match in PHP?
This is the regex I'm trying to use:
/^(\w|\.|-)+?@(\w|-)+?\.\w{2,4}($|\.\w{2,4})$/gim
I found it on this s开发者_StackOverflow社区ite, and it works great when I try it out there. But as soon as I place it in my code, I get this message:
Warning: preg_match() [function.preg-match]: Unknown modifier 'g' in C:\xampp\htdocs\swebook\includes\classes.php on line 22
Can anyone explain what's wrong, and why it's working on that website and not in my code?
There is no modifier g
for preg_match
. Instead, you have to use the preg_match_all
function.
So instead of:
preg_match("/^(\w|\.|-)+?@(\w|-)+?\.\w{2,4}($|\.\w{2,4})$/gim", ....)
use:
preg_match_all("/^(\w|\.|-)+?@(\w|-)+?\.\w{2,4}($|\.\w{2,4})$/im", ....)
精彩评论