问题描述
这个简单的代码:
var_dump(filter_var('example.com',FILTER_VALIDATE_DOMAIN));
// also
var_dump(filter_var('example.com',FILTER_VALIDATE_DOMAIN,FILTER_FLAG_HOSTNAME));
返回:
Warning: filter_var() expects parameter 2 to be long,string given in [...]
但是FILTER_VALIDATE_DOMAIN
似乎是基于this page的有效过滤器
这就是我的理解,应该基于filter var function使用它。
怎么了?
解决方法
它显示为FILTER_VALIDATE_DOMAIN
only exists in PHP 7+。它仅在the general changelog中被提及,而在expect it中却未被提及。在较旧的版本中,它没有定义,PHP仅以裸字符串形式退回到'FILTER_VALIDATE_DOMAIN'
,并且您已禁止显示错误报告,也没有看到该通知。