«Неизвестный модификатор« g »в…» при использовании preg_match в PHP?

Это регулярное выражение, которое я пытаюсь использовать:

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

Я нашел его на этом сайте , и он прекрасно работает, когда Я попробую это там. Но как только я помещаю его в свой код, я получаю следующее сообщение:

Warning: preg_match() [function.preg-match]: Unknown modifier 'g' in C:\xampp\htdocs\swebook\includes\classes.php on line 22

Может кто-нибудь объяснить, что не так и почему он работает на этом сайте, а не в моем коде?

78
задан Jonathan Leffler 6 June 2017 в 00:31
поделиться

1 ответ

Нет модификатора g для preg_match. Вместо этого вы должны использовать функцию 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", ....)
148
ответ дан 24 November 2019 в 10:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: