【发布时间】:2011-01-09 08:58:36
【问题描述】:
FILTER_VALIDATE_URL 过滤器似乎在验证非 ASCII 网址时遇到了一些问题:
var_dump(filter_var('http://pt.wikipedia.org/wiki/', FILTER_VALIDATE_URL)); // http://pt.wikipedia.org/wiki/
var_dump(filter_var('http://pt.wikipedia.org/wiki/Guimarães', FILTER_VALIDATE_URL)); // false
为什么最后一个 URL 没有正确验证?什么是可能的解决方法?运行 PHP 5.3.0。
我也想知道在哪里可以找到FILTER_VALIDATE_URL 验证过滤器的源代码。
【问题讨论】:
-
您可以找到源代码以及 PHP 的其他源代码。它可以在他们网站的下载部分免费获得。至于你的问题,这听起来像是一个错误,你应该报告它。我可以建议的唯一解决方法是使用一些其他逻辑(也许制作一个函数来与 FILTER_CALLBACK 一起使用)。
标签: php validation utf-8 filter filter-var