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 相关文章推荐
同时提取多条新闻中的文本一例
Oct 09 PHP
用php实现让页面只能被百度gogole蜘蛛访问的方法
Dec 29 PHP
php 在文件指定行插入数据的代码
May 08 PHP
php计算十二星座的函数代码
Aug 21 PHP
php命令行使用方法和命令行参数说明
Apr 08 PHP
Codeigniter注册登录代码示例
Jun 12 PHP
PHP基于cookie与session统计网站访问量并输出显示的方法
Jan 15 PHP
PHP简单获取多个checkbox值的方法
Jun 13 PHP
PHP strcmp()和strcasecmp()的区别实例
Nov 05 PHP
PHP快速推送微信模板消息
Apr 14 PHP
php实现微信企业号支付个人的方法详解
Jul 26 PHP
php实现根据身份证获取精准年龄
Feb 26 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连接mssql的一些相关经验及注意事项
2013/02/05 PHP
php使用正则表达式提取字符串中尖括号、小括号、中括号、大括号中的字符串
2020/04/05 PHP
php中strtotime函数用法详解
2014/11/15 PHP
php析构函数的简单使用说明
2015/08/24 PHP
CodeIgniter框架实现的整合Smarty引擎DEMO示例
2019/03/28 PHP
基于JQuery的6个Tab选项卡插件
2010/09/03 Javascript
jQuery实现form表单reset按钮重置清空表单功能
2012/12/18 Javascript
JS文本框追加多个下拉框的值的简单实例
2013/07/12 Javascript
jquery实现漫天雪花飞舞的圣诞祝福雪花效果代码分享
2015/08/20 Javascript
利用React-router+Webpack快速构建react程序
2016/10/27 Javascript
vue-router:嵌套路由的使用方法
2017/02/21 Javascript
基于vue实现swipe轮播组件实例代码
2017/05/24 Javascript
Node学习记录之cluster模块
2017/05/31 Javascript
浅谈ElementUI中switch回调函数change的参数问题
2018/08/24 Javascript
解决angularjs service中依赖注入$scope报错的问题
2018/10/02 Javascript
js实现页面多个日期时间倒计时效果
2019/06/20 Javascript
JavaScript组合模式---引入案例分析
2020/05/23 Javascript
vue项目或网页上实现文字转换成语音播放功能
2020/06/09 Javascript
js利用iframe实现选项卡效果
2020/08/09 Javascript
如何利用node转发请求详解
2020/09/17 Javascript
python使用urllib模块和pyquery实现阿里巴巴排名查询
2014/01/16 Python
pygame学习笔记(3):运动速率、时间、事件、文字
2015/04/15 Python
Python cookbook(数据结构与算法)实现优先级队列的方法示例
2018/02/18 Python
使用matlab或python将txt文件转为excel表格
2019/11/01 Python
python飞机大战pygame游戏背景设计详解
2019/12/17 Python
Keras 快速解决OOM超内存的问题
2020/06/11 Python
关于python的缩进规则的知识点详解
2020/06/22 Python
python爬虫中url管理器去重操作实例
2020/11/30 Python
详解基于canvas的视频遮罩插件
2018/01/04 HTML / CSS
斯洛伐克电子产品购物网站:DATART
2020/04/05 全球购物
公司庆典活动邀请函
2014/01/09 职场文书
小孩百日宴答谢词
2014/01/15 职场文书
迎新晚会邀请函
2014/02/01 职场文书
关于感恩的演讲稿500字
2014/08/26 职场文书
南湾猴岛导游词
2015/02/09 职场文书
关于React Native 无法链接模拟器的问题
2021/06/21 Javascript