php获取浏览器语言问题

Mkobe 2011-01-19 09:49:43
如题,小弟想用php代码获取浏览器语言,但是我测试了,$_SERVER['HTTP_ACCEPT_LANGUAGE']无用,在ie和360下面都是en-us,不知道是不是我在本地测试的原因,而在谷歌和火狐下面得出了正确结果:zh-CN,zh;q=0.8之类的,想用正则表达式处理一下,因为不同的浏览器,q=xx是不同的,但是没搞成,那怎么样才能判断出浏览器的内核语言并实施不同的操作,最好能兼容各种浏览器,先谢谢各位

P.S JS能做到,但是不想用js
...全文
497 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ihefe 2011-01-20
  • 打赏
  • 举报
回复
js
window.navigator.userLanguage 当前用户使用的语言
window.navigator.systemLanguage 得到当前浏览器所使用的语系 IE5.5以上支持
window.navigator.browserLanguage
Mkobe 2011-01-20
  • 打赏
  • 举报
回复
谢谢各位,用$_SERVER['HTTP_ACCEPT_LANGUAGE'],ie6和8都是好的,唯独ie7和360不行,显示的是en,能不能根据use agent来判断一下呢?我对use agent不熟悉,哪位熟悉一点能不能帮忙解决一下
skyaspnet 2011-01-20
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ihefe 的回复:]
js
window.navigator.userLanguage 当前用户使用的语言
window.navigator.systemLanguage 得到当前浏览器所使用的语系 IE5.5以上支持
window.navigator.browserLanguage
[/Quote]

如果用JS的话,还需要回传到SERVER端用PHP处理的

echo $_SERVER['HTTP_ACCEPT_LANGUAGE'];

这段代码在我这边是好的,我用的是IE6,估计还是和软件版本有关系,你查看一下你那边浏览器的具体信息
Abin-2008 2011-01-19
  • 打赏
  • 举报
回复

$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 4);
我用这个测试IE8.0是正确的

至于用了360....那货难判断..
Abin-2008 2011-01-19
  • 打赏
  • 举报
回复
最好还是用js来实现吧...

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧