summaryrefslogtreecommitdiffstats
path: root/system/helpers/email_helper.php
diff options
context:
space:
mode:
authorTimothy Warren <tim@timshomepage.net>2012-05-17 13:46:25 +0200
committerTimothy Warren <tim@timshomepage.net>2012-05-17 13:46:25 +0200
commit421d6abf1ad3a1cfb96f9aad326c72c9b6fa3a06 (patch)
tree8f1232a823fd324cd37f48d4b1a70a281307aa9e /system/helpers/email_helper.php
parent40dd9b5ffa1a9e0b1b885d4b592636dcc04af023 (diff)
Remove regex validation in favor of filter_var
Diffstat (limited to 'system/helpers/email_helper.php')
-rw-r--r--system/helpers/email_helper.php34
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);
}
}