gpt4 book ai didi

php - FILTER_VALIDATE_URL 是否过于严格?

转载 作者:IT王子 更新时间:2023-10-29 00:07:14 28 4
gpt4 key购买 nike

在 PHP 中,filter_var('www.example.com', FILTER_VALIDATE_URL) 返回 false。这个对吗? www.example.com 不是一个有效的 URL,或者协议(protocol)(http://、ftp://等)是否需要在 URL 中明确说明才能正式正确?

最佳答案

这不是一个有效的 URL。用 http:// 作为前缀从来都不是一件对用户非常友好的事情,所以如果你只是输入一个域名,现代浏览器就会假设你指的是 http。软件库确实有点挑剔!

您可以采用的一种方法是通过 parse_url 传递字符串,然后添加任何缺少的元素,例如

if ( $parts = parse_url($url) ) {
if ( !isset($parts["scheme"]) )
{
$url = "http://$url";
}
}

有趣的是,当您使用 FILTER_VALIDATE_URL 时,它实际上在内部使用 parse_url 来确定方案是什么 (view source) .感谢 salathe 在下面的评论中发现这一点。

关于php - FILTER_VALIDATE_URL 是否过于严格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9800452/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com