PHP检测用户语言的方法


Posted in PHP onJune 15, 2015

本文实例讲述了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 相关文章推荐
PHP编程之高级技巧——利用Mysql函数
Oct 09 PHP
PHP实现多服务器session共享之NFS共享的方法
Mar 16 PHP
在Windows系统上安装PHP运行环境文字教程
Jul 19 PHP
无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装最快的解决办法
Aug 01 PHP
php的POSIX 函数以及进程测试的深入分析
Jun 03 PHP
CI框架自动加载session出现报错的解决办法
Jun 17 PHP
php实现读取内存顺序号
Mar 29 PHP
php修改上传图片尺寸的方法
Apr 14 PHP
ThinkPHP3.2.2实现持久登录(记住我)功能的方法
May 16 PHP
自写的利用PDO对mysql数据库增删改查操作类
Feb 19 PHP
PHP堆栈调试操作简单示例
Jun 15 PHP
PHP设计模式之观察者模式定义与用法分析
Apr 04 PHP
php实现求相对时间函数
Jun 15 #PHP
php数组随机排序实现方法
Jun 13 #PHP
隐性调用php程序的方法
Jun 13 #PHP
PHP获取数组的键与值方法小结
Jun 13 #PHP
PHP中你应该知道的require()文件包含的正确用法
Jun 12 #PHP
PHP查找与搜索数组元素方法总结
Jun 12 #PHP
php使用array_search函数实现数组查找的方法
Jun 12 #PHP
You might like
PHP使用Alexa API获取网站的Alexa排名例子
2014/06/12 PHP
PHP脚本自动识别验证码查询汽车违章
2016/12/20 PHP
JavaScript 快捷键设置实现代码
2009/03/13 Javascript
js中巧用cssText属性批量操作样式
2011/03/13 Javascript
JavaScript创建一个欢迎cookie弹出窗实现代码
2013/03/15 Javascript
js向上无缝滚动,网站公告效果 具体代码
2013/11/18 Javascript
FireBug 调试JS入门教程 如何调试JS
2013/12/23 Javascript
Javascript浮点数乘积运算出现多位小数的解决方法
2014/02/17 Javascript
用javascript将数据导入Excel示例代码
2014/09/10 Javascript
js上传图片及预览功能实例分析
2015/04/24 Javascript
AngularJS 自定义过滤器详解及实例代码
2016/09/14 Javascript
Web性能优化系列 10个提升JavaScript性能的技巧
2016/09/27 Javascript
React Native 环境搭建的教程
2017/08/19 Javascript
javaScript之split与join的区别(详解)
2017/11/08 Javascript
基于vue2.0动态组件及render详解
2018/03/17 Javascript
微信小程序仿RadioGroup改变样式的处理方案
2018/07/13 Javascript
ES6顶层对象、global对象实例分析
2019/06/14 Javascript
JS实现移动端可折叠导航菜单(现代都市风)
2020/07/07 Javascript
[47:52]完美世界DOTA2联赛PWL S2 PXG vs InkIce 第二场 11.26
2020/11/30 DOTA
使用Python下载歌词并嵌入歌曲文件中的实现代码
2015/11/13 Python
python分布式环境下的限流器的示例
2017/10/26 Python
Python中一行和多行import模块问题
2018/04/01 Python
Python 隐藏输入密码时屏幕回显的实例
2019/02/19 Python
使用python实现哈希表、字典、集合操作
2019/12/22 Python
Django ValuesQuerySet转json方式
2020/03/16 Python
Python爬虫工具requests-html使用解析
2020/04/29 Python
如何教少儿学习Python编程
2020/07/10 Python
施华洛世奇匈牙利官网:SWAROVSKI匈牙利
2019/07/06 全球购物
法国购买隐形眼镜和眼镜网站:Optical Center
2019/10/08 全球购物
Chupi官网:在爱尔兰手工制作的订婚、结婚戒指和精美珠宝
2020/09/28 全球购物
在weblogic中发布ejb需涉及到哪些配置文件
2012/01/17 面试题
运动会入场词200字
2014/02/15 职场文书
交通事故赔偿协议书范本
2014/04/15 职场文书
安全生产计划书
2014/05/04 职场文书
三年级学生评语大全
2014/12/26 职场文书
在职证明范本
2015/06/15 职场文书