phpbar.de logo

Mailinglisten-Archive

[php] Unterscheidung zwischen Domain Name und Host Name

[php] Unterscheidung zwischen Domain Name und Host Name

Swiss4.com webmaster at swiss4.com
Die Sep 30 15:47:56 CEST 2003


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