这篇文章主要介绍了php检测用户语言的方法,涉及针对php预定义服务器变量$_server[
本文实例讲述了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 factorforeach ($langs as $lang => $val) {if ($val === '') $langs[$lang] = 1;}// sort list based on valuearsort($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程序设计有所帮助。
,