Насколько последователен FILTER_VALIDATE_EMAIL?

Пример действительного адреса электронной почты:

«это действительный адрес» @ 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 Version 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"
BOOL (ложь)

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 

Я не вижу ничего в документации, чтобы предположить, что это изменилось, поэтому, возможно, это другой параметр конфигурации.

Solutions Collecting From Web of "Насколько последователен FILTER_VALIDATE_EMAIL?"

Как вы можете видеть на http://3v4l.org/vKONS использование фильтра FILTER_VALIDATE_EMAIL это непротиворечиво!

Выводы http://3v4l.org/vKONS для PHP 5.2.0, 5.2.14 – 5.2.17, 5.3.3 – 5.3.18, 5.4.0 – 5.4.8

 string(37) ""this is a valid address"@example.com" bool(false) 

и для 5.2.1 – 5.2.13, 5.3.0 – 5.3.2

 string(37) ""this is a valid address"@example.com" string(37) ""this is a valid address"@example.com" 

Замечательно, что он работал на 5.2.0, но не 5.2.1-5.2.13, а затем снова на 5.2.14 !!!

Btw 3v4l.org – отличный ресурс для проверки таких изменений поведения во всех доступных версиях PHP.

Существует несколько ошибок, включая термин FILTER_VALIDATE_EMAIL, но ни один из них не соответствует вашей ошибке. Вы можете добавить его в PHP bugtracker …