respect-validation/library/Rules/PublicDomainSuffix.php
Alexandre Gomes Gaigalas e2b6138bf6 Add PublicDomainSuffix Rule
- List will be auto-updated from https://publicsuffix.org/list/public_suffix_list.dat
 - Updated AbstractSearcher rules to be case insensitive
 - Updated PR creator bots
 - Docs and tests
2023-02-19 00:19:10 -03:00

38 lines
709 B
PHP

<?php
/*
* Copyright (c) Alexandre Gomes Gaigalas <alganet@gmail.com>
* SPDX-License-Identifier: MIT
*/
declare(strict_types=1);
namespace Respect\Validation\Rules;
use Respect\Validation\Helpers\DomainInfo;
use function array_pop;
use function explode;
final class PublicDomainSuffix extends AbstractSearcher
{
/**
* @var string[]
*/
private $domainInfo;
/**
* {@inheritDoc}
*/
protected function getDataSource($input = null): array
{
$parts = explode('.', $input);
$tld = array_pop($parts);
$domainInfo = new DomainInfo($tld);
$this->domainInfo = $domainInfo->getPublicSuffixes();
return $this->domainInfo;
}
}