如何用PHP获取随机URL的基础?

时间:2015-07-18 06:31:11

标签: php function url

我需要一个函数来获取URL的基础。 (网址将由用户提交,可能就是一切!) 例如:

result = [['Houston','TX', 84],['Austin','TX', 84],['Los Angeles','LA', 84]];

1 个答案:

答案 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 ...

这种方法比您看到的典型解决方案更可靠:

  1. 它没有采用整个主机名(这不是你要求的)
  2. 它能够处理由多个标签组成的公共后缀
  3. 您必须不时更新公共后缀列表,因为它实际上已更改。不是每天都有,但你应该每月更新一次......