Alternative to eregi() in php

idjuradj picture idjuradj · Feb 23, 2013 · Viewed 28.9k times · Source

So, i was using eregi in my mail script, but as of lately, i get the error that the function is deprecated.

So, what is the easiest way to replace the following bit of code:

if (!eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,4}$", trim($_POST['email'])))?

Any help is appreciated :)

Answer

Winston picture Winston · Feb 23, 2013
 if (!preg_match("/^[A-Z0-9.%-]+@[A-Z0-9.%-]+.[A-Z]{2,4}$/", trim($_POST['email'])))

Using preg_match.

Because ereg_* functions is deprecated in PHP >= 5.3

Also for email validation better used filter_var

if (!filter_var(trim($_POST['email']), FILTER_VALIDATE_EMAIL))
    echo 'Email is incorrect';