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 相关文章推荐
第十节--抽象方法和抽象类
Nov 16 PHP
PHP中对用户身份认证实现两种方法
Jun 04 PHP
解析PHP缓存函数的使用说明
May 10 PHP
关于查看MSSQL 数据库 用户每个表 占用的空间大小
Jun 21 PHP
ECSHOP在PHP5.5及高版本上报错的解决方法
Aug 31 PHP
Yii中表单用法实例详解
Jan 05 PHP
PHP动态生成指定大小随机图片的方法
Mar 25 PHP
CentOS 上搭建 PHP7 开发测试环境
Feb 26 PHP
浅谈使用 Yii2 AssetBundle 中 $publishOptions 的正确姿势
Nov 08 PHP
php删除一个路径下的所有文件夹和文件的方法
Feb 07 PHP
thinkPHP5框架实现多数据库连接,跨数据连接查询操作示例
May 29 PHP
laravel 错误处理,接口错误返回json代码
Oct 25 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
一首老MP3,致敬WAR3经典
2021/03/08 魔兽争霸
php 设计模式之 工厂模式
2008/12/19 PHP
php 批量添加多行文本框textarea一行一个
2014/06/03 PHP
php实现的数组转xml案例分析
2019/09/28 PHP
用JTrackBar实现的模拟苹果风格的滚动条
2007/08/06 Javascript
jQuery结合PHP+MySQL实现二级联动下拉列表[实例]
2011/11/15 Javascript
jquery获取自定义属性(attr和prop)实例介绍
2013/04/21 Javascript
javascript模拟实现C# String.format函数功能代码
2013/11/25 Javascript
通过pjax实现无刷新翻页(兼容新版jquery)
2014/01/31 Javascript
跨域资源共享 CORS 详解
2016/04/26 Javascript
EasyUI学习之Combobox下拉列表(1)
2016/12/29 Javascript
Javascript中引用类型传递的知识点小结
2017/03/06 Javascript
Jquery中attr与prop的区别详解
2017/05/27 jQuery
详解使用angular的HttpClient搭配rxjs
2017/09/01 Javascript
vue利用axios来完成数据的交互
2018/03/23 Javascript
JS实现select选中option触发事件操作示例
2018/07/13 Javascript
详解Vue+Element的动态表单,动态表格(后端发送配置,前端动态生成)
2019/04/20 Javascript
原生js实现each方法实例代码详解
2019/05/27 Javascript
python cx_Oracle的基础使用方法(连接和增删改查)
2017/11/19 Python
分析python切片原理和方法
2017/12/19 Python
PyTorch搭建一维线性回归模型(二)
2019/05/22 Python
Python3的高阶函数map,reduce,filter的示例详解
2019/07/23 Python
python随机数分布random均匀分布实例
2019/11/27 Python
Python测试Kafka集群(pykafka)实例
2019/12/23 Python
TensorFlow 多元函数的极值实例
2020/02/10 Python
django admin后管定制-显示字段的实例
2020/03/11 Python
python安装和pycharm环境搭建设置方法
2020/05/27 Python
哪种Python框架适合你?简单介绍几种主流Python框架
2020/08/04 Python
用CSS3实现无限循环的无缝滚动的实例代码
2017/07/04 HTML / CSS
初中考试作弊检讨书
2014/02/01 职场文书
团拜会策划方案
2014/06/07 职场文书
推普周活动总结
2014/08/28 职场文书
办公室文员岗位职责
2015/02/04 职场文书
财务人员个人工作总结
2015/02/27 职场文书
应届生简历自我评价
2015/03/11 职场文书
详解前端任务构建利器Gulp.js使用指南
2021/04/30 Javascript