本文实例讲述了PHP检测用户语言的方法。分享给大家供大家参考。具体如下:

function getPreferredLanguage() { $langs = array(); if (isset($_SERVER["HTTP_ACCEPT_LANGUAGE"])) {  // break up string into pieces (languages and q factors)  preg_match_all("/([a-z]{1,8}(-[a-z]{1,8})?)s*(;s*qs*=s*(1|0.[0-9]+))?/i",$_SERVER["HTTP_ACCEPT_LANGUAGE"], $lang_parse);  if (count($lang_parse[1])) {   // create a list like "en" => 0.8   $langs = array_combine($lang_parse[1], $lang_parse[4]);   // set default to 1 for any without q factor   foreach ($langs as $lang => $val) {    if ($val === "") $langs[$lang] = 1;   }   // sort list based on value    arsort($langs, SORT_NUMERIC);  } } //extract most important (first) foreach ($langs as $lang => $val) { break; } //if complex language simplify it if (stristr($lang,"-")) {$tmp = explode("-",$lang); $lang = $tmp[0]; } return $lang;}

希望本文所述对大家的php程序设计有所帮助。