我正在尝试使用 filter_var 来验证用户输入的 URL,但它似乎并非在所有情况下都有效。我前段时间在 PHP.net 上请求过修复此问题,但无济于事。
除了正则表达式(是的,stackoverflow 上已经发布了一些),是否有 PHP 版本可以工作或任何其他方法?
我面临的问题是以下字符串得到验证,这不应该:
http://http://www.google.com
测试脚本:
$url = $_REQUEST['url'];
if (filter_var("http://" . $url, FILTER_VALIDATE_URL))
$filter="true";
else
$filter="false";
echo "Filter var result of concat with http is:" . $filter . "<br>";
预期结果:
我希望它在我使用http://www.google.com运行脚本时返回 false,而当我使用 www.google.com 运行它时返回 true
实际结果:
它在两种情况下都返回 true