Mailinglisten-Archive |
> > $host_chunks = explode(".", $host);
> > $tld = array_pop($host_chunks);
> > $domain = array_pop($host_chunks);
> > $domain .= "." . $tld;
> >
> > Hab's nicht getestet, sollte aber so gehn.
>
> Vielen Dank!
>
> Wenn nun der Host $host = "bla.domain.com.br" ist, ergibt
> dies -> com.br ->
> die Domain mit TLD ist aber -> domain.com.br
> Die Lösung sollte wirklich für die ganze Welt taugen und
> nicht nur für den
> "normal" Fall.
Dann solltest Du eventuell eine Liste mit TLDs, die mehr als
einen Part haben dazu pflegen (com.br, com.au).
function getDomainFromHostname($host) {
// TLDs mit mehr als einem Anteil, in lowercase
$multipart_tlds = Array('com.br', 'com.au' /* usw. */);
$host_chunks = explode(".", strToLower($host));
$tld = array_pop($host_chunks);
$domain = array_pop($host_chunks);
$domain .= "." . $tld;
while (in_array($domain, $multipart_tlds)) {
$dpart = array_pop($host_chunks);
$domain = $dpart . "." . $domain;
}
return $domain;
}
--
Dennis
php::bar PHP Wiki - Listenarchive