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