PHP检测用户语言的方法

 更新时间:2015年06月15日 15:31:08   作者:小卒过河  
这篇文章主要介绍了PHP检测用户语言的方法,涉及针对php预定义服务器变量$_SERVER['HTTP_ACCEPT_LANGUAGE']的判定与使用技巧,需要的朋友可以参考下

本文实例讲述了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基于登陆时间判断实现一天多次登录只积分一次功能示例

    这篇文章主要介绍了php基于登陆时间判断实现一天多次登录只积分一次功能,适合会员系统的积分功能,涉及php时间判断与数据库相关操作技巧,需要的朋友可以参考下
    2017-10-10
  • php中Session的生成机制、回收机制和存储机制探究

    php中Session的生成机制、回收机制和存储机制探究

    这篇文章主要介绍了php中Session的生成机制、回收机制和存储机制探究,可以帮助大家对Session有一个全面的了解,需要的朋友可以参考下
    2014-08-08
  • mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc的区别

    mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc的区别

    一直以来,有很多初学者搞不懂这些Mysql中从查询结果集中取得数据的函数之间有什么区别,今天我就来秀一把,在秀之前先给大家一段PHP实例
    2009-04-04
  • PHP回调函数简单用法示例

    PHP回调函数简单用法示例

    这篇文章主要介绍了PHP回调函数简单用法,结合实例形式分析了call_user_func()与call_user_func_array()函数区别、功能及简单使用技巧,需要的朋友可以参考下
    2019-05-05
  • Ajax+PHP 边学边练 之二 实例

    Ajax+PHP 边学边练 之二 实例

    本篇通过一个实例介绍Ajax与PHP结合使用的方式,可以下载该实例的源程序以便更好理解。压缩包中functions.js就是Ajax核心代码了,所有的操作效果都是通过它来实现的。下文的代码解释都是提取自functions.js。
    2009-11-11
  • php xml 入门学习资料

    php xml 入门学习资料

    今天做项目时遇到一个问题:需要动态更新主页上的图片,以示本站不是做完了就算了,是有人一直在维护。好了,需求有了,如何实现?!
    2011-01-01
  • PHP模拟登陆163邮箱发邮件及获取通讯录列表的方法

    PHP模拟登陆163邮箱发邮件及获取通讯录列表的方法

    这篇文章主要介绍了PHP模拟登陆163邮箱发邮件及获取通讯录列表的方法,实例分析了php实用curl模拟登陆163邮箱的操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • PHP之变量、常量学习笔记

    PHP之变量、常量学习笔记

    亲密接触PHP之变量、常量学习笔记(阅读笔记自PHP手册) PHP 中一个美元符号($)后面跟上一个变量名称,即表示一个变量。变量的名称是对大小写敏感的。其中变量名允许数字或下划线打头。
    2008-03-03
  • php判断当前用户已在别处登录的方法

    php判断当前用户已在别处登录的方法

    这篇文章主要介绍了php判断当前用户已在别处登录的方法,主要利用session记录用户登录信息来完成这一功能,是非常实用的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-01-01
  • PHP MSSQL 存储过程的方法

    PHP MSSQL 存储过程的方法

    在PHP中调用MS SQL存储过程的核心代码
    2008-12-12

最新评论