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操作sqlserver关于时间日期读取的小小见解
Nov 29 PHP
抓取并下载CSS中所有图片文件的php代码
Sep 26 PHP
PHPExcel读取Excel文件的实现代码
Dec 06 PHP
php获取数组长度的方法(有实例)
Oct 27 PHP
php中使用sftp教程
Mar 30 PHP
Zend Framework缓存Cache用法简单实例
Mar 19 PHP
使用PHP连接多种数据库的实现代码(mysql,access,sqlserver,Oracle)
Dec 21 PHP
PHP搭建大文件切割分块上传功能示例
Jan 04 PHP
Yii2-GridView 中让关联字段带搜索和排序功能示例
Jan 21 PHP
PHP字典树(Trie树)定义与实现方法示例
Oct 09 PHP
php ajax confirm 删除实例详解
Mar 06 PHP
浅谈php常用的7大框架的优缺点
Jul 20 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 chmod 函数与批量修改文件目录权限
2010/05/10 PHP
php强制文件下载而非在浏览器打开的自定义函数分享
2014/05/08 PHP
WordPress导航菜单的滚动和淡入淡出效果的实现要点
2015/12/14 PHP
php求数组全排列,元素所有组合的方法
2016/05/05 PHP
关于PHP定时发送服务的解决办法
2017/04/23 PHP
浅谈Laravel核心解读之Console内核
2018/12/02 PHP
Laravel访问出错提示:`Warning: require(/vendor/autoload.php): failed to open stream: No such file or di解决方法
2019/04/02 PHP
js中方法重载如何实现?以及函数的参数问题
2013/08/01 Javascript
NodeJS学习笔记之FS文件模块
2015/01/13 NodeJs
纯javascript实现四方向文本无缝滚动效果
2015/06/16 Javascript
jquery原理以及学习技巧介绍
2015/11/11 Javascript
JavaScript 继承详解(六)
2016/10/11 Javascript
详解Vue.use自定义自己的全局组件
2017/06/14 Javascript
详谈JS中数组的迭代方法和归并方法
2017/08/11 Javascript
JS实现身份证输入框的输入效果
2017/08/21 Javascript
解决vue.js在编写过程中出现空格不规范报错的问题
2017/09/20 Javascript
详解vue中引入stylus及报错解决方法
2017/09/22 Javascript
如何安装控制器JavaScript生成插件详解
2018/10/21 Javascript
使用nodejs分离html文件里的js和css详解
2019/04/12 NodeJs
分享8个JavaScript库可更好地处理本地存储
2020/10/12 Javascript
[05:39]2014DOTA2国际邀请赛 DK晋级胜者组专访战队国士无双
2014/07/14 DOTA
python在windows和linux下获得本机本地ip地址方法小结
2015/03/20 Python
Python编程pygal绘图实例之XY线
2017/12/09 Python
Python获取对象属性的几种方式小结
2020/03/12 Python
python和php哪个容易学
2020/06/19 Python
Python实现GIF图倒放
2020/07/16 Python
python 用opencv实现图像修复和图像金字塔
2020/11/27 Python
长青弘远的面试题
2012/06/09 面试题
初中教师业务学习材料
2014/05/12 职场文书
办公室文员岗位职责范本
2014/06/12 职场文书
小学生竞选班干部演讲稿(5篇)
2014/09/12 职场文书
银行授权委托书格式
2014/10/10 职场文书
go原生库的中bytes.Buffer用法
2021/04/25 Golang
Python selenium的这三种等待方式一定要会!
2021/06/10 Python
Python中可变和不可变对象的深入讲解
2021/08/02 Python
Win10 最新稳定版本 21H2开始推送
2022/04/19 数码科技