PHP檢測用戶語言的方法
更新時間:2015年06月15日 15:31:08 作者:小卒過河
這篇文章主要介紹了PHP檢測用戶語言的方法,涉及針對php預(yù)定義服務(wù)器變量$_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程序設(shè)計有所幫助。
相關(guān)文章
PHP mb_convert_encoding 獲取字符串編碼類型實現(xiàn)代碼
mb_convert_encoding函數(shù)就是那個可以自動識別原字符串編碼的函數(shù),但在使用中,發(fā)現(xiàn)GBK中的某些漢字被它轉(zhuǎn)成了亂碼。2009-04-04
php中使用__autoload()自動加載未定義類的實現(xiàn)代碼
當(dāng)PHP引擎遇到未實例化的類時就會觸發(fā)這個方法,當(dāng)然你的php代碼中要用到__autoload()才可以哦2013-02-02
php的日期處理函數(shù)及uchome的function_coomon中日期處理函數(shù)的研究
經(jīng)常在用php的時候會碰到一個關(guān)于時間日期的問題還有時區(qū)差異的問題,以前作項目的時候會把時間搞錯,要么就是提前八小時了,要么那個時間就是驢唇不對馬嘴的,現(xiàn)在我就來深入研究一下這里面的各個函數(shù)及其用法2011-01-01
基于php數(shù)組中的索引數(shù)組和關(guān)聯(lián)數(shù)組詳解
下面小編就為大家分享一篇基于php數(shù)組中的索引數(shù)組和關(guān)聯(lián)數(shù)組詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-03-03
使用PHP連接多種數(shù)據(jù)庫的實現(xiàn)代碼(mysql,access,sqlserver,Oracle)
我們今天為大家介紹的PHP連接數(shù)據(jù)庫的方法包括在MYSQL數(shù)據(jù)庫、ACCESS數(shù)據(jù)庫、MS SQL數(shù)據(jù)庫和Oracle數(shù)據(jù)庫中實現(xiàn)2016-12-12
php dirname(__FILE__) 獲取當(dāng)前文件的絕對路徑
dirname(__FILE__) 取到的是當(dāng)前文件的絕對路徑,也就是說,比起相對路徑,查找速度是最快的。2011-06-06

