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 COOKIE设置为浏览器进程
Jun 21 PHP
Windows下XDebug 手工配置与使用说明
Jul 11 PHP
解析php中session的实现原理以及大网站应用应注意的问题
Jun 17 PHP
thinkphp判断访客为手机端或PC端的方法
Nov 24 PHP
学习php开源项目的源码指南
Dec 21 PHP
XHProf报告字段含义的解析
May 17 PHP
PHP不使用递归的无限级分类简单实例
Nov 05 PHP
php mysql procedure实现获取多个结果集的方法【基于thinkPHP】
Nov 09 PHP
CakePHP框架Session设置方法分析
Feb 23 PHP
PHP多进程编程之僵尸进程问题的理解
Oct 15 PHP
Laravel路由研究之domain解决多域名问题的方法示例
Apr 04 PHP
关于Anemometer图形化显示MySQL慢日志的工具搭建及使用的详细介绍
Jul 13 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
《心理测量者3》剧场版动画预告
2020/03/02 日漫
openflashchart 2.0 简单案例php版
2012/05/21 PHP
php+ajax做仿百度搜索下拉自动提示框(有实例)
2012/08/21 PHP
php一些错误处理的方法与技巧总结
2013/08/10 PHP
php+ajax 实现输入读取数据库显示匹配信息
2015/10/08 PHP
Zend Framework前端控制器用法示例
2016/12/11 PHP
php中bind_param()函数用法分析
2017/03/28 PHP
javascript最常用与实用的创建类的代码
2010/08/12 Javascript
javascript预览上传图片发现的问题的解决方法
2010/11/25 Javascript
页面刷新时记住滚动条的位置jquery代码
2014/06/17 Javascript
JSON字符串转JSON对象
2015/07/31 Javascript
JavaScript中的原始值和复杂值
2016/01/07 Javascript
微信公众平台开发教程(六)获取个性二维码的实例
2016/12/02 Javascript
Angular+Bootstrap+Spring Boot实现分页功能实例代码
2017/07/21 Javascript
基于js中document.cookie全面解析
2017/09/14 Javascript
vue实现登录后页面跳转到之前页面
2018/01/07 Javascript
jQuery实现获取form表单内容及绑定数据到form表单操作分析
2018/07/03 jQuery
vue-router 控制路由权限的实现
2020/09/24 Javascript
python简单分割文件的方法
2015/07/30 Python
深入解析Python编程中JSON模块的使用
2015/10/15 Python
Python中Class类用法实例分析
2015/11/12 Python
python爬虫之BeautifulSoup 使用select方法详解
2017/10/23 Python
Python 反转字符串(reverse)的方法小结
2018/02/20 Python
python如何生成各种随机分布图
2018/08/27 Python
使用Python函数进行模块化的实现
2019/11/15 Python
python保留小数位的三种实现方法
2020/01/07 Python
使用tensorflow实现VGG网络,训练mnist数据集方式
2020/05/26 Python
如何解决cmd运行python提示不是内部命令
2020/07/01 Python
MCAKE蛋糕官方网站:一直都是巴黎的味道
2018/02/06 全球购物
zooplus波兰:在线宠物店
2019/07/21 全球购物
2014升学宴答谢词
2014/01/26 职场文书
医药营销个人求职信
2014/04/12 职场文书
员工培训协议书
2014/09/15 职场文书
小班下学期个人总结
2015/02/12 职场文书
《詹天佑》教学反思
2016/02/20 职场文书
Python 内置函数速查表一览
2021/06/02 Python