bentools / hostname-extractor
主机名提取器 - 一个用于查找主机名部分的库(后缀、顶级域名、子域名等)
1.3
2019-04-23 14:41 UTC
Requires
- php: >=7.1
- ext-mbstring: *
- bentools/iterable-functions: ^1.1
- bentools/violin: 1.0.x-dev
- guzzlehttp/guzzle: ^6.0
Requires (Dev)
- bentools/uri-factory: ^1.0
- guzzlehttp/psr7: ^1.4
- php-coveralls/php-coveralls: ^2.1
- phpunit/phpunit: ^7.0
- psr/simple-cache: ^1.0
- squizlabs/php_codesniffer: ^3.4
- symfony/cache: ^4.0
- symfony/var-dumper: ^4.0
README
主机名提取器
一个用于操作域名的简单库。
用法
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
工厂。