PHP检测用户语言的方法
本文实例讲述了PHP检测用户语言的方法。分享给大家供大家参考。具体如下:
functiongetPreferredLanguage(){
$langs=array();
if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])){
//breakupstringintopieces(languagesandqfactors)
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])){
//createalistlike"en"=>0.8
$langs=array_combine($lang_parse[1],$lang_parse[4]);
//setdefaultto1foranywithoutqfactor
foreach($langsas$lang=>$val){
if($val==='')$langs[$lang]=1;
}
//sortlistbasedonvalue
arsort($langs,SORT_NUMERIC);
}
}
//extractmostimportant(first)
foreach($langsas$lang=>$val){break;}
//ifcomplexlanguagesimplifyit
if(stristr($lang,"-")){$tmp=explode("-",$lang);$lang=$tmp[0];}
return$lang;
}
希望本文所述对大家的php程序设计有所帮助。