Mailinglisten-Archive |
Hallo Dennis, > From: "Dennis Sterzenbach" <lists at darknoise.de> > > > > 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; > } > Deine Funktion ist wirklich super und liefert für 99.995% sicher auch die richtige Domain. Vielen Dank! Nur zur vervollständigkeitshalber müsste man nun noch die Spezialfälle beachten, wo es z.B. http://co.za/ gibt und auch http://pretoria.co.za/ ! (Bei beiden handelt es sich um ausschliessliche Domainnamen ohne Host und Subdomain Namen) Greetings, /IV/\N
php::bar PHP Wiki - Listenarchive