bentools/hostname-extractor

主机名提取器 - 一个用于查找主机名部分的库(后缀、顶级域名、子域名等)

1.3 2019-04-23 14:41 UTC

This package is auto-updated.

Last update: 2024-09-24 02:25:59 UTC


README

Latest Stable Version License Build Status Coverage Status Quality Score Total Downloads

主机名提取器

一个用于操作域名的简单库。

用法

require_once __DIR__ . '/vendor/autoload.php';

use BenTools\HostnameExtractor\HostnameExtractor;
use BenTools\HostnameExtractor\SuffixProvider\PublicSuffixProvider;

$extractor = new HostnameExtractor(new PublicSuffixProvider());
$hostname = $extractor->extract('my.preferred.domain.co.uk');
dump($hostname->getSubdomain()); // my.preferred
dump($hostname->getDomain()); // domain
dump($hostname->getSuffix()); // co.uk
dump($hostname->getTld()); // uk
dump($hostname->getSuffixedDomain()); // domain.co.uk
dump($hostname->isIp()); // false
dump($hostname->isIpv4()); // false
dump($hostname->isIpv6()); // false

如您所见,co.uk 被视为后缀(否则,我们会认为 co 是域名,而 uk 是后缀 / 顶级域名)。

该库解析 公共后缀列表,该列表存储了数千个现有后缀。

为了避免网络延迟,您可以选择实现自己的 BenTools\HostnameExtractor\SuffixProvider\SuffixProviderInterface,或者将您喜欢的 PSR-16 库用于 BenTools\HostnameExtractor\SuffixProvider\PSR16CacheSuffixProvider 对象。

安装

需要 PHP 7.1+ 和 mbstring 扩展。

composer require bentools/hostname-extractor ^1.0

测试

./vendor/bin/phpunit

许可证

MIT。

另请参阅

bentools/querystring - 简单地操作您的查询字符串。

bentools/uri-factory - 支持多个库的 PSR-7 UriInterface 工厂。