“Unknown modifier 'g' in…” when using preg_match in PHP?

心不动则不痛 提交于 2019-11-26 05:54:23

问题


This is the regex I\'m trying to use:

/^(\\w|\\.|-)+?@(\\w|-)+?\\.\\w{2,4}($|\\.\\w{2,4})$/gim

I found it on this site, 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?


回答1:


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


来源:https://stackoverflow.com/questions/3578671/unknown-modifier-g-in-when-using-preg-match-in-php

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!