Willkommen in der Webstatt Zum Webstatt Blog und Stories
Franky Franky am 04.03.07 15:51

Moin,

ich möchte gerne die Sprache eines Besuchers auslesen. Wie mache ich das? (es gibt zwar $_SERVER['HTTP_ACCEPT_LANGUAGE'], allerdings gibt das doch auch manchmal soetwas wie DE-CH aus, oder?)
Wie kann ich dadrauf ambesten reagieren, mir wäre auch schon geholfen wenn ich wissen würde was alles für $_SERVER['HTTP_ACCEPT_LANGUAGE'] stehen kann.. :)

Viele Grüße,
Franky

netcup.de Warum gibt es hier Werbung?
danieL danieL am 04.03.07 16:27

<?php
function orderedLanguages()
{
$languages = split(",", $_SERVER['HTTP_ACCEPT_LANGUAGE'] );
$lang_q = Array();
foreach( $languages as $aLang ) {
$lang_array = split(";q=", trim( $aLang ) );
$lang = trim( $lang_array[0] );
if( !isset( $lang_array[1] ) )
$q = 1;
else
$q = trim($lang_array[1]);
$lang_q["$lang"] = (float)$q;
}
arsort($lang_q);
//extra code for making the languages key indexed
$i = 0;
$lang_index = Array();
foreach($lang_q as $lang => $q) {
// $lang_q[$i] = $lang; //add to the same array the index key/language
$lang_index[$i] = $lang; //add to a new array the index key/language
$i++;
}

//return $lang_index; // uncomment for returning array with keys={0..n-1}, values={most..least preferred}
return $lang_q;
}

?>


von php.net aus den Kommentaren.

Denke mal das ist sowas, was du suchst oder?

Michael Michael am 04.03.07 17:28

ich würde nur die ersten beiden Buchstaben vergleichen. Ohne Groß- und Kleinschreibung. Dann klappt das ganz gut mit 'DE', 'EN' usw

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt