cyberfusion / domain-parser
Library to parse domains into their subdomain, SLD, TLD, and registrable domain.
v1.5.0
2024-08-14 11:51 UTC
Requires
- php: ^8.3
- desarrolla2/cache: ^3.0
- guzzlehttp/guzzle: ^7.5
- illuminate/support: ^10.4|^11.0
- jeremykendall/php-domain-parser: ^6.0
Requires (Dev)
- phpstan/phpstan: ^1.2
- phpunit/phpunit: ^10.0|^11.0
- symplify/easy-coding-standard: ^12.0
README
Library to parse domains into their subdomain, SLD, TLD, and registrable domain.
This library is a wrapper around jeremykendall/php-domain-parser
, focussed on ease of use.
Install
Composer
Run the following command to install the package from Packagist:
composer require cyberfusion/domain-parser
Usage
Example
use Cyberfusion\DomainParser\Parser; $parser = new Parser(); $parsedDomain = $parser->domain('www.cyberfusion.nl'); $parsedDomain->getRegistrableDomain(); // cyberfusion.nl $parsedDomain->getSld(); // cyberfusion $parsedDomain->getTld(); // nl $parsedDomain->hasSubdomain(): // true $parsedDomain->getSubdomain(); // www $parsedDomain->isApexDomain(); // false $parsedDomain->getFqdn(); // www.cyberfusion.nl
Providers
Public Suffix List (recommended)
$parser = new Parser(provider: new PublicSuffixList());
IANA
$parser = new Parser(provider: new IANATopLevelDomainList());
Caching
This package caches data. to prevent too many requests to providers. You can provide your own cache to Parser
, or use the included file cache.
For example, use the default cache store in Laravel:
$parser = new Parser( cache: Cache::store(), provider: new PublicSuffixList() );