note 56537 added to function.preg-match

From: Date: Tue, 06 Sep 2005 17:01:40 +0000
Subject: note 56537 added to function.preg-match
Groups: php.notes 
Request: Send a blank email to php-notes+get-94822@lists.php.net to get a copy of this message
If you want some email validation that doesn't reject valid emails (which the ones above do), try this code (from http://iamcal.com/publish/articles/php/parsing_email) function is_valid_email_address($email){ $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 preg_match("!^$addr_spec$!", $email) ? 1 : 0; } ---- Manual Page -- http://www.php.net/manual/en/function.preg-match.php Edit -- http://master.php.net/manage/user-notes.php?action=edit+56537 Delete: added to the manual -- http://master.php.net/manage/user-notes.php?action=delete+56537&report=yes&reason=added+to+the+manual Delete: bad code -- http://master.php.net/manage/user-notes.php?action=delete+56537&report=yes&reason=bad+code Delete: spam -- http://master.php.net/manage/user-notes.php?action=delete+56537&report=yes&reason=spam Delete: useless -- http://master.php.net/manage/user-notes.php?action=delete+56537&report=yes&reason=useless Delete: non-english -- http://master.php.net/manage/user-notes.php?action=delete+56537&report=yes&reason=non-english Delete: other reasons -- http://master.php.net/manage/user-notes.php?action=delete+56537&report=yes Reject -- http://master.php.net/manage/user-notes.php?action=reject+56537&report=yes Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#94822) next »