本文实例讲述了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程序设计有所帮助。