|
|
1
17
这样的怎么样?
将使用Classic提取域名
//编辑: 试试看:
它应该返回:
当然,如果不通过,什么也不会退回
/附录: 阿尼塔克是对的。上述解决方案将在 最 但不一定是所有的病例,需要对其进行维护,以确保它们不是新的具有6个以上特征的TLD,等等。提取域的唯一可靠方法是使用维护的列表,例如 http://publicsuffix.org/ . 一开始更痛苦,但从长远来看更容易,更健壮。您需要确保了解每个方法的优缺点,以及它如何适合您的项目。 |
|
|
2
6
目前唯一“正确”的方法是使用一个列表,如 http://publicsuffix.org/ 顺便说一句,这个问题也相当类似于: IETF正在研究DNS方法,以声明DNS树中的特定节点是否用于“公开”注册,但它们正处于开发的早期阶段。所有流行的非IE浏览器都使用publicSuffix.org列表。 |
|
|
3
3
python的tldextact模块还有一个非常好的端口 http://w-shadow.com/blog/2012/08/28/tldextract -这超出了解析URL的范围,允许您实际获取域/TLD,而不需要子域。 从模块网站:
|
|
|
4
1
从一个相关的岗位上挖出来,为了保持一张桌子: http://mxr.mozilla.org/mozilla-central/source/netwerk/dns/src/effective_tld_names.dat?raw=1 但我不想那样做。 |
|
|
5
0
当然,这取决于您的具体用例,但一般来说,我不会使用表查找来查找TLD。新的TLD出现了,你通常不想在任何地方维护它们。问一下我的firstname@lastname.name因为近视被拒绝的频率。 如果我知道你为什么不想要WWW,我想我能帮得上忙吗?你需要它来收发邮件吗?在这种情况下,您可以查询MX记录以验证它(最终)是否接受邮件。 您还可以找到处理DNS记录的PHP函数的帮助,以了解有关它们的更多信息,请参见 http://php.net/dns_get_record 例如。 |
|
|
6
0
只是一个证明,假设允许的TLD被存储到哈希中。 代码可以缩短很多。
|
|
|
7
0
您需要使用的包 Public Suffix List 只有这样,才能正确地提取具有两个、三级TLD(co.uk、a.bg、b.bg等)和多级子域的域。regex、parse_url()或字符串函数永远不会产生绝对正确的结果。 我重新使用 TLD Extract . 下面是代码示例:
|
|
|
8
-2
有一个非常简单的解决方案:
这肯定行吗? |