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 相关文章推荐
让你同时上传 1000 个文件 (一)
Oct 09 PHP
global.php
Dec 09 PHP
adodb与adodb_lite之比较
Dec 31 PHP
PHP 数组遍历方法大全(foreach,list,each)
Jun 30 PHP
PHP实现的英文名字全拼随机排号脚本
Jul 04 PHP
Yii框架form表单用法实例
Dec 04 PHP
PHP curl模拟登录带验证码的网站
Nov 30 PHP
PHP实现求两个字符串最长公共子串的方法示例
Nov 17 PHP
Laravel中错误与异常处理的用法示例
Sep 16 PHP
Thinkphp 5.0实现微信企业付款到零钱
Sep 30 PHP
Yii Framework框架使用PHPExcel组件的方法示例
Jul 24 PHP
PHP开启目录引索+fancyindex漂亮目录浏览带搜索功能
Sep 23 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的FTP学习(一)[转自奥索]
2006/10/09 PHP
PHP中显示格式化的用户输入
2006/10/09 PHP
用PHP编写和读取XML的几种方式
2013/01/12 PHP
php批量删除cookie的简单实现方法
2015/01/26 PHP
php实现QQ空间获取当前用户的用户名并生成图片
2015/07/25 PHP
yii2实现 "上一篇,下一篇" 功能的代码实例
2017/02/04 PHP
Javascript实现的分页函数
2007/02/07 Javascript
jquery实现div拖拽宽度示例代码
2013/07/31 Javascript
javascript 上下banner替换具体实现
2013/11/14 Javascript
javascript自动生成包含数字与字符的随机字符串
2015/02/09 Javascript
jQuery实现多级下拉菜单jDropMenu的方法
2015/08/28 Javascript
老生常谈JavaScript 函数表达式
2016/09/01 Javascript
js判断手机号是否正确并返回的实现代码
2017/01/17 Javascript
Vue中的ref作用详解(实现DOM的联动操作)
2017/08/21 Javascript
微信小程序数据存储与取值详解
2018/01/30 Javascript
vue页面跳转后返回原页面初始位置方法
2018/02/11 Javascript
Vue iview-admin框架二级菜单改为三级菜单的方法
2018/07/03 Javascript
javascript+HTML5 canvas绘制时钟功能示例
2019/05/15 Javascript
jquery弹窗时禁止body滚动条滚动的例子
2019/09/21 jQuery
js实现简单五子棋游戏
2020/05/28 Javascript
[55:45]LGD vs OG 2019国际邀请赛淘汰赛 胜者组 BO3 第三场 8.24
2019/09/10 DOTA
python调用Moxa PCOMM Lite通过串口Ymodem协议实现发送文件
2014/08/15 Python
Python格式化css文件的方法
2015/03/10 Python
Python读取网页内容的方法
2015/07/30 Python
深入理解python中的闭包和装饰器
2016/06/12 Python
win10环境下python3.5安装步骤图文教程
2017/02/03 Python
python中ASCII码和字符的转换方法
2018/07/09 Python
对pyqt5之menu和action的使用详解
2019/06/20 Python
Python OpenCV调用摄像头检测人脸并截图
2020/08/20 Python
django模板获取list中指定索引的值方式
2020/05/14 Python
pytest fixtures装饰器的使用和如何控制用例的执行顺序
2021/01/28 Python
2014年大学生就业规划书
2014/04/04 职场文书
英文求职信范文
2014/05/23 职场文书
Python带你从浅入深探究Tuple(基础篇)
2021/05/15 Python
MybatisPlus EntityWrapper如何自定义SQL
2022/03/22 Java/Android
Java中的继承、多态以及封装
2022/04/11 Java/Android