diff options
author | Timothy Warren <tim@timshomepage.net> | 2012-05-17 13:46:25 +0200 |
---|---|---|
committer | Timothy Warren <tim@timshomepage.net> | 2012-05-17 13:46:25 +0200 |
commit | 421d6abf1ad3a1cfb96f9aad326c72c9b6fa3a06 (patch) | |
tree | 8f1232a823fd324cd37f48d4b1a70a281307aa9e /system/helpers/email_helper.php | |
parent | 40dd9b5ffa1a9e0b1b885d4b592636dcc04af023 (diff) |
Remove regex validation in favor of filter_var
Diffstat (limited to 'system/helpers/email_helper.php')
-rw-r--r-- | system/helpers/email_helper.php | 34 |
1 files changed, 1 insertions, 33 deletions
diff --git a/system/helpers/email_helper.php b/system/helpers/email_helper.php index 449aadfc2..ea9f6105d 100644 --- a/system/helpers/email_helper.php +++ b/system/helpers/email_helper.php @@ -50,39 +50,7 @@ if ( ! function_exists('valid_email')) */ function valid_email($email) { - // Use PHP's filters if they exist - if (function_exists('filter_var')) - { - return (bool) filter_var($email, FILTER_VALIDATE_EMAIL); - } - - // Fallback based on RFC822 - $qtext = '[^\\x0d\\x22\\x5c\\x80-\\xff]'; - - $dtext = '[^\\x0d\\x5b-\\x5d\\x80-\\xff]'; - - $atom = '[^\\x00-\\x20\\x22\\x28\\x29\\x2c\\x2e\\x3a-\\x3c'. - '\\x3e\\x40\\x5b-\\x5d\\x7f-\\xff]+'; - - $quoted_pair = '\\x5c[\\x00-\\x7f]'; - - $domain_literal = "\\x5b({$dtext}|{$quoted_pair})*\\x5d"; - - $quoted_string = "\\x22({$qtext}|{$quoted_pair})*\\x22"; - - $domain_ref = $atom; - - $sub_domain = "({$domain_ref}|{$domain_literal})"; - - $word = "({$atom}|{$quoted_string})"; - - $domain = "{$sub_domain}(\\x2e{$sub_domain})*"; - - $local_part = "{$word}(\\x2e{$word})*"; - - $addr_spec = "{$local_part}\\x40{$domain}"; - - return (bool) preg_match("!^{$addr_spec}$!", $email); + return (bool) filter_var($email, FILTER_VALIDATE_EMAIL); } } |