我需要一个函数来获取URL的基础。 (网址将由用户提交,可能就是一切!) 例如:
result = [['Houston','TX', 84],['Austin','TX', 84],['Los Angeles','LA', 84]];
答案 0 :(得分:0)
您需要使用域名解析器,其中包含有关不断变化的公共后缀列表的信息,有时会被错误地称为“TLD”。否则在某些情况下会得到错误的结果。我建议你在github上看看Jemery Kendalls php-domain-parser。它附带了一个很好的文档和示例。
<?php
require_once __DIR__ . '/vendor/autoload.php';
use Pdp\PublicSuffixListManager;
use Pdp\Parser;
// Obtain an instance of the parser
$pslManager = new PublicSuffixListManager();
$parser = new Parser($pslManager->getList());
$url = 'http://www.murphyslawpetone.co.nz/';
$urlObj = $parser->parseUrl($url);
$hostObj = $url->host;
$baseUrl = $host->registerableDomain;
echo $baseUrl;
如果我的问题正确,这将输出您正在寻找的murphyslawpetone.co.nz
...
这种方法比您看到的典型解决方案更可靠:
您必须不时更新公共后缀列表,因为它实际上已更改。不是每天都有,但你应该每月更新一次......