cyberfusion/domain-parser

Library to parse domains into their subdomain, SLD, TLD, and registrable domain.

v1.5.0 2024-08-14 11:51 UTC

This package is auto-updated.

Last update: 2024-10-21 09:57:22 UTC


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()
);