| @@ 72-82 (lines=11) @@ | ||
| 69 | // domain part has two consecutive dots |
|
| 70 | $is_valid = false; |
|
| 71 | } |
|
| 72 | elseif (!preg_match('/^(\\\\.|[A-Za-z0-9!#%&`_=\\/$\'*+?^{}|~.-])+$/', |
|
| 73 | str_replace("\\\\", "", $local))) |
|
| 74 | { |
|
| 75 | // character not valid in local part unless |
|
| 76 | // local part is quoted |
|
| 77 | if (!preg_match('/^"(\\\\"|[^"])+"$/', |
|
| 78 | str_replace("\\\\", "", $local))) |
|
| 79 | { |
|
| 80 | $is_valid = false; |
|
| 81 | } |
|
| 82 | } |
|
| 83 | ||
| 84 | // :NOTICE: Some network provider will return fake A record if |
|
| 85 | // a dns query return fail, usually disp some ads. |
|
| @@ 130-141 (lines=12) @@ | ||
| 127 | // local part has two consecutive dots |
|
| 128 | $valid = false; |
|
| 129 | ||
| 130 | } elseif (!preg_match( |
|
| 131 | '/^(\\\\.|[A-Za-z0-9!#%&`_=\\/$\'*+?^{}|~.-])+$/', |
|
| 132 | str_replace("\\\\", "", $local) |
|
| 133 | )) { |
|
| 134 | // Character not valid in local part unless local part is quoted |
|
| 135 | if (!preg_match( |
|
| 136 | '/^"(\\\\"|[^"])+"$/', |
|
| 137 | str_replace("\\\\", "", $local) |
|
| 138 | )) { |
|
| 139 | $valid = false; |
|
| 140 | } |
|
| 141 | } |
|
| 142 | ||
| 143 | return $valid; |
|
| 144 | } |
|