PHP检测用户语言的方法
更新时间:2015年06月15日 15:31:08 作者:小卒过河
这篇文章主要介绍了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程序设计有所帮助。
相关文章
PHP mb_convert_encoding 获取字符串编码类型实现代码
mb_convert_encoding函数就是那个可以自动识别原字符串编码的函数,但在使用中,发现GBK中的某些汉字被它转成了乱码。2009-04-04
php中使用__autoload()自动加载未定义类的实现代码
当PHP引擎遇到未实例化的类时就会触发这个方法,当然你的php代码中要用到__autoload()才可以哦2013-02-02
php的日期处理函数及uchome的function_coomon中日期处理函数的研究
经常在用php的时候会碰到一个关于时间日期的问题还有时区差异的问题,以前作项目的时候会把时间搞错,要么就是提前八小时了,要么那个时间就是驴唇不对马嘴的,现在我就来深入研究一下这里面的各个函数及其用法2011-01-01
使用PHP连接多种数据库的实现代码(mysql,access,sqlserver,Oracle)
我们今天为大家介绍的PHP连接数据库的方法包括在MYSQL数据库、ACCESS数据库、MS SQL数据库和Oracle数据库中实现2016-12-12
php dirname(__FILE__) 获取当前文件的绝对路径
dirname(__FILE__) 取到的是当前文件的绝对路径,也就是说,比起相对路径,查找速度是最快的。2011-06-06


最新评论