“在PHP中使用preg_match时未知修饰符'g'in …”
这是我试图使用的正则expression式:
/^(\w|\.|-)+?@(\w|-)+?\.\w{2,4}($|\.\w{2,4})$/gim
我在这个网站上find了它,当我在那里尝试的时候它效果很好。 但是,只要我把它放在我的代码中,我就会得到这样的信息:
Warning: preg_match() [function.preg-match]: Unknown modifier 'g' in C:\xampp\htdocs\swebook\includes\classes.php on line 22
任何人都可以解释什么是错的,为什么它在网站上,而不是在我的代码?
preg_match
没有修饰符g
。 相反,你必须使用preg_match_all
函数。
所以,而不是:
preg_match("/^(\w|\.|-)+?@(\w|-)+?\.\w{2,4}($|\.\w{2,4})$/gim", ....)
使用:
preg_match_all("/^(\w|\.|-)+?@(\w|-)+?\.\w{2,4}($|\.\w{2,4})$/im", ....)