如何从URL字符串中获取域名?
+----------------------+------------+
| input | output |
+----------------------+------------+
| www.google.com | google |
| www.mail.yahoo.com | mail.yahoo |
| www.mail.yahoo.co.in | mail.yahoo |
| www.abc.au.uk | abc |
+----------------------+------------+
Run Code Online (Sandbox Code Playgroud)
有关:
我有一个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一起工作.)
我需要编写一个函数来解析包含域名的变量.我最好用一个例子来解释这个,变量可以包含以下任何一个:
here.example.com
example.com
example.org
here.example.org
Run Code Online (Sandbox Code Playgroud)
但是当通过我的函数时,所有这些必须返回example.com或example.co.uk,基本上是域名.我确定我以前做过这个,但我一直在谷歌搜索大约20分钟,但找不到任何东西.任何帮助,将不胜感激.
编辑:忽略.co.uk,假设通过此功能的所有域都有3个字母的TLD.
我有$_SERVER['HTTP_REFERER']- 假装它是http://example.com/i/like/turtles.html.我需要做些什么来从http://example.com字符串中获取部分,并将其存储在自己的变量中?