【发布时间】:2012-11-09 18:06:29
【问题描述】:
有效的电子邮件地址示例:
“这是一个有效的地址”@example.com
PHP 代码:
<?php
header('Content-Type: text/plain');
$email = '"this is a valid address"@example.com';
$checked = filter_var($email, FILTER_VALIDATE_EMAIL);
var_dump($email, $checked);
在一台服务器上输出:(PHP 版本 5.2.6):
string(37) ""这是一个有效的地址"@example.com"
string(37) ""这是一个有效的地址"@example.com"
phpinfo():
Input Validation and Filtering enabled
Revision $Revision: 1.52.2.42 $
Directive Local Value Master Value
filter.default unsafe_raw unsafe_raw
filter.default_flags no value no value
在另一台服务器上输出(PHP 版本 5.3.3):
string(37) ""这是一个有效的地址"@example.com"
布尔(假)
phpinfo():
Input Validation and Filtering enabled
Revision $Revision: 298196 $
Directive Local Value Master Value
filter.default unsafe_raw unsafe_raw
filter.default_flags no value no value
我在 the documentation 中看不到任何表明这已更改的内容,因此可能是其他一些配置设置。
【问题讨论】:
-
Tests for PHP mail validation、Semi related answer、Commits 和 Changelog。结论:没有不一致 ;-) 它已经改进了几次。
-
这可能是一个有效的电子邮件地址,但任何使用它的人都不是真正有效的......在
<head>。 如果你能做一些事情,它并不意味着你应该这样做。出于对理智的尊重,我绝对不会向这样的地址发送电子邮件。