這篇文章主要介紹了PHP檢測用戶語言的方法,涉及針對php預定義服務器變量$_SERVER['HTTP_ACCEPT_LANGUAGE']的判定與使用技巧,需要的朋友可以參考下
本文實例講述了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*q/s*=/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程序設計有所幫助。
新聞熱點
疑難解答