【发布时间】:2012-08-10 18:43:54
【问题描述】:
我看过有关使用 parse_url 获取 www.domain.tld 的帖子,但我怎样才能使用 php 获取“域”?
我目前有这个正则表达式
$pattern = '@https?://[a-z]{1,}\.{0,}([a-z]{1,})\.com(\.[a-z]{1,}){0,}@';
但这仅适用于 .com,我需要它适用于所有 TLD(.co.uk、.com、.tv 等)
有没有可靠的方法来做到这一点,我不确定正则表达式是否是最好的方法?或者可能在“。”上爆炸。但是子域又会搞砸。
编辑
所以想要的结果是
$url = "https://stackoverflow.com/questions/11952907/get-domain-without-tld-using-php#comment15926320_11952907";
$output = "stackoverflow";
做更多的研究,有人会建议使用 parse_url 获取 www.domain.tld 然后使用 explode 获取域吗?
【问题讨论】:
-
您需要一份所有公开可用后缀的列表。 (区分
.co.uk和.co.mil) -
您需要检查域名是否有效或只有域名?
-
所以我需要将所有这些都写到一个数组中? en.wikipedia.org/wiki/List_of_Internet_top-level_domains
-
@MihaiIorga 我只需要来自 url 的域。
-
@user1527354:编号publicsuffix.org
标签: php