我需要构建一个从URL解析域的函数.
所以,随着
http://google.com/dhasjkdas/sadsdds/sdda/sdads.html
要么
http://www.google.com/dhasjkdas/sadsdds/sdda/sdads.html
它应该回来 google.com
同
http://google.co.uk/dhasjkdas/sadsdds/sdda/sdads.html
它应该回来google.co.uk.
给定URL(单行):http:
//test.example.com/dir/subdir/file.html
如何使用正则表达式提取以下部分:
即使我输入以下URL,正则表达式也应该正常工作:
http://example.example.com/example/example/example.html
Run Code Online (Sandbox Code Playgroud) 说有人输入这样的URL:
http://i.imgur.com/a/b/c?query=value&query2=value
Run Code Online (Sandbox Code Playgroud)
我想回来: imgur.com
不 i.imgur.com
这是我现在的代码
$sourceUrl = parse_url($url);
$sourceUrl = $sourceUrl['host'];
Run Code Online (Sandbox Code Playgroud)
但这会回来 i.imgur.com
我有一个URL,可以是以下任何格式:
http://example.com
https://example.com
http://example.com/foo
http://example.com/foo/bar
www.example.com
example.com
foo.example.com
www.foo.example.com
foo.bar.example.com
http://foo.bar.example.com/foo/bar
example.net/foo/bar
Run Code Online (Sandbox Code Playgroud)
基本上,我需要能够匹配任何普通的URL.我如何example.com 通过单个正则表达式提取(或.net,无论tld恰好是什么.我需要这个与任何TLD一起工作.)
PHP的parse_url()有一个主机字段,其中包含完整的主机.我正在寻找最可靠(也是最便宜)的方式来返回域和TLD.
举个例子:
我只想找google.com或google.co.uk.我已经考虑了一个有效的TLD /后缀表,只允许这些和一个单词.你会以其他方式做吗?有没有人知道这种事情的预先有效的REGEX?
有没有人知道正则表达式匹配Domain.CCTLD?我不想要子域名,只需要"原子域名".例如,docs.google.com不匹配,但google.com确实如此.然而,像.co.ukCCTLD 这样的东西变得复杂.有谁知道解决方案?提前致谢.
编辑:我意识到我还必须处理多个子域,比如john.doe.google.co.uk.现在比以往任何时候都需要解决方案:P.
我正在寻找一个列表(无论是不是全部,只需要像生成虚拟数据一样大)
我正在寻找像这样的清单
.net.nz
.co.nz
.edu.nz
.govt.nz
.com.au
.govt.au
.com
.net
Run Code Online (Sandbox Code Playgroud)
我可以找到列表的任何想法?