TLDExtract
TLDExtract copied to clipboard
TLD for domain test.ru is not recognized
I have tested with hundred of domains, but for the domain test.ru i get the following result:
Result {#1711 ▼
-subdomain: null
-hostname: "test.ru"
-suffix: null
}
There is no issue with the package, test.ru
and others are marked as reserved in the ICANN section of Public Suffix List: https://github.com/publicsuffix/list/blob/6f2b9e75eaf65bb75da83677655a59110088ebc5/public_suffix_list.dat#L5884
So, even Extract::MODE_ALLOW_ICANN
will not help you there, php-domain-parser has a same issue there because it uses the same database. However, test.ru
should be suffix
in this case.
Wouldn't this be fixed by changing the code here (line 225-227 of Extract.php
)
if ($suffix === $hostname) {
return [null, $hostname, null];
}
to this:
if ($suffix === $hostname) {
return [null, null, $hostname];
}
?
Is there a reason the suffix is being placed in the "hostname" when there's just a suffix?
You can still work around it, I suppose, since the TLDDatabase library is a dependency, you can just use that pacakge to check if the string is a public suffix first.