Oto wyrażenie regularne, którego próbuję użyć:
/^(\w|\.|-)+?@(\w|-)+?\.\w{2,4}($|\.\w{2,4})$/gim
Znalazłem go na tej stronie i działa świetnie, gdy go tam wypróbuję. Ale gdy tylko umieszczę go w swoim kodzie, otrzymuję następujący komunikat:
Warning: preg_match() [function.preg-match]: Unknown modifier 'g' in C:\xampp\htdocs\swebook\includes\classes.php on line 22
Czy ktoś może wyjaśnić, co jest nie tak i dlaczego działa w tej witrynie, a nie w moim kodzie?
Odpowiedzi:
Nie ma modyfikatora
g
dlapreg_match
. Zamiast tego musisz użyćpreg_match_all
funkcji.Więc zamiast:
preg_match("/^(\w|\.|-)+?@(\w|-)+?\.\w{2,4}($|\.\w{2,4})$/gim", ....)
posługiwać się:
preg_match_all("/^(\w|\.|-)+?@(\w|-)+?\.\w{2,4}($|\.\w{2,4})$/im", ....)
źródło