- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
在 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/
FILTER_VALIDATE_URL 过滤器在验证非 ASCII URL 时似乎有一些问题: var_dump(filter_var('http://pt.wikipedia.org/wiki/',
为什么 PHP 函数:FILTER_VALIDATE_URL 认为子域包含下划线的 URL 是无效的? 我如何确保此 FILTER_VALIDATE_URL 包含此类现有 URL(可能是最快的执行方
在 PHP 中,filter_var('www.example.com', FILTER_VALIDATE_URL) 返回 false。这个对吗? www.example.com 不是一个有效的 UR
我发现使用 filter_var($url, FILTER_VALIDATE_URL) 的问题是它在 $url = "http://x"; 时返回 true 不需要 TLD。我该如何解决这个问题,以便
这里是 my code : $url = "http://localhost/myweb/qanda/1/"; var_dump(filter_var($url, FILTER_VALIDATE_UR
我有以下代码: $url = "http://icons3.iconfinder.netdna-cdn.com/data/icons/pool/poolbird.png"; if (filter_va
出于某种我不明白的原因,FILTER_VALIDATE_URL 表示以下 URL 有效: http://ghjfgh 不是所有有效的 URL 都至少包含一个句点吗?我从未见过没有定义的 TDL。那么为
我用我能想象到的strings和int进行测试,只要以http://开头,使用FILTER_VALIDATE_URL就是一个有效的url。那么,为什么我们需要 FILTER_VALIDATE_URL?
filter_var($url, FILTER_VALIDATE_URL) 似乎是检测 $url 是否包含 url 的好方法。有什么办法可以看出这个函数检测的是什么正则表达式? 谢谢 最佳答案 它使用
我们可以使用 filter_vars() 与 FILTER_VALIDATE_URL 和 flags : FILTER_FLAG_SCHEME_REQUIRED FILTER_FLAG_HOST_RE
由于某些奇怪的原因,下面的函数表示此 url“paradox-productions.net”在 http://alpha.shurl.be/ 上无效在我的本地主机上有效。它是 PHP 中的错误还是可
我是一名优秀的程序员,十分优秀!