gpt4 book ai didi

php - 任何以 http ://is validated by FILTER_VALIDATE_URL? 开头的东西

转载 作者:可可西里 更新时间:2023-11-01 13:45:38 25 4
gpt4 key购买 nike

我用我能想象到的strings和int进行测试,只要以http://开头,使用FILTER_VALIDATE_URL就是一个有效的url。那么,为什么我们需要 FILTER_VALIDATE_URL?为什么不在我们想让它有效时就在输入上添加 http://?

var_dump(filter_var ('http://example',FILTER_VALIDATE_URL ));

最佳答案

从技术上讲,任何以方案(如 http://)开头并在之后包含有效 URI 字符的 URI 都是有效的,按照官方 URI 规范RFC 3986 :

Each URI begins with a scheme name, as defined in Section 3.1, that refers to a specification for assigning identifiers within that scheme. As such, the URI syntax is a federated and extensible naming system wherein each scheme's specification may further restrict the syntax and semantics of identifiers using that scheme.

因此,您获得的返回并没有什么奇怪的——这就是应该发生的事情。至于为什么要将 filter_varFILTER_VALIDATE_URL 标志一起使用……这在语义上比对每个可能的 URL 方案执行类似以下操作更合适,不是吗?同意吗?

if (strpos($url, 'http://') === 0
|| strpos($url, 'ftp://') === 0
|| strpos($url, 'telnet://') === 0
) {
// it's a valid URL!
}

关于php - 任何以 http ://is validated by FILTER_VALIDATE_URL? 开头的东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12170123/

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