2014-02-05 7 views
0

Вот мой код (от submit.php), который бросает ошибку:функция Eregi устарела

$email_from = $_POST['email']; // required 
$error_message = ""; 
$email_exp = "^[A-Z0-9._%-][email protected][A-Z0-9.-]+\.[A-Z]{2,4}$"; 
if(!eregi($email_exp,$email_from)) { 
$error_message .= 'The Email Address you entered does not appear to be valid.<br />'; 
} 

Я знаю, что нужно использовать preg_match, но я не знаю, как это осуществить. Я прочитал документацию, но я все еще не понимаю. Благодаря!

+1

Взгляните на этот вопрос: http://stackoverflow.com/questions/6270004/how-can-i-convert-ereg-expressions-to-preg-in-php – DNACode

+0

Perl regexps и POSIX regexps очень подобно друг другу. Это будет работать как perl regexp автоматически; не нужно ничего менять в нем. Однако, поскольку вы действительно хотите, чтобы он был чувствительным к регистру, вам либо нужно добавить модификатор i в конце, либо заменить все A-Z на A-Za-z (т.е. оба случая). – Tularis

ответ

-1
$email_exp = "/^[A-Z0-9._%-][email protected][A-Z0-9.-]+\.[A-Z]{2,4}$/i"; 
if(preg_match($email_exp,$email_from) != 1) { 
    $error_message .= 'The Email Address you entered does not appear to be valid.<br />'; 
} 

На самом деле, it'is очень простой и очень похожи с eregi.

+0

Спасибо, это сработало для меня. –

-1

удалить это

$email_exp = "^[A-Z0-9._%-][email protected][A-Z0-9.-]+\.[A-Z]{2,4}$"; 
    eregi($email_exp,$email_from) 

и использовать

$email_exp = "/^[A-Z0-9._%-][email protected][A-Z0-9.-]+\.[A-Z]{2,4}$/i"; 
preg_match($email_exp, $email_from) 
+1

Это больше не чувствительный к регистру. Вам не хватает модификатора i – Tularis

+0

@Tularis, это ошибка ввода. я не заметил его. Спасибо за уведомление. – krishna

 Смежные вопросы

  • Нет связанных вопросов^_^