Недавно я обновился до PHP 5.3 и получил некоторые устаревшие ошибки.preg_match() [function.preg-match]: Неизвестный модификатор '@'
Warning: preg_match() [function.preg-match]: Unknown modifier '@' in
Прежде всего, хотел бы упомянуть, что я проверил предыдущие ссылки ниже и попробовал, что было предложено.
preg_match(): Unknown modifier '@' и How can I convert ereg expressions to preg in PHP?
... Но когда я делал изменения от
function check_email_address($email) {
if (!ereg("^[^@]{1,64}@[^@]{1,255}$", $email)) {
в
function check_email_address($email) {
if (preg_match("/^[^@]{1,64}@[^@]{1,255}$/", $email)) {
, а также пытались
if (preg_match('/^[A-Z0-9._%+-][email protected][A-Z0-9.-]+\.[A-Z]{2,4}$/i', $email);
моя страница регистрации не принимает электронные письма и говорит, что есть недопустимое письмо.
Но в то же время предупреждения "Unknown modifier '@'"
исчезли.
Так что что-то не так, но все еще немного неправильно. Просто нужно немного помочь.
Любые предложения или советы?
Не используйте регулярное выражение для проверки электронной почты. Вместо этого используйте 'filter_var()': if (filter_var ($ email, FILTER_VALIDATE_EMAIL)) {// valid email} ' –
Возможный дубликат [PHP с использованием preg \ _replace:« Ошибка разделителя не должна быть буквенно-цифровой или обратной косой чертой ».] (http://stackoverflow.com/questions/2527657/php-using-preg-replace-delimiter-must-not-be-alphanumeric-or-backslash-error) – Toto