目錄
PHP如何识别系统语言或浏览器语言
Jun 23, 2016 pm 02:04 PM 有两个站cn,en
需要当在国外访问cn的时候直接跳转到en去
请问有什么方法可以完成。
我用的
preg_match('/^([a-z\-]+)/i', $_SERVER['HTTP_ACCEPT_LANGUAGE'], $matches);$lang = $matches[1];switch ($lang) { case 'zh-cn' : //header('Location: http://cn.test.com/'); echo "中国"; break; case 'zh-tw' : // header('Location: http://tw.test.com/'); echo "台湾"; break; case 'ko' : //header('Location: http://ko.test.com/'); break; default: // header('Location: http://en.test.com/'); echo "英文"; break;}
登入後複製
火狐和IE显示的不同,IE是正常的。
如直接显示$_SERVER['HTTP_ACCEPT_LANGUAGE']
IE为:zh-cn
火狐为:zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
回复讨论(解决方案)
先echo $lang看看
可以考虑用js来判断客户端语言
参考:
http://www.w3help.org/zh-cn/causes/BX2040
我认为用你前面那个正则匹配就可以用啊,我分析了楼主的需求,给楼主建议:语言版本记录保存在cookie里面,而且可以从get值传递语言类型(不能让因为浏览器用户是中文就不浏览英文网站吧)。
当用户读取语言的时候首先读取get值,然后是cookie值,最后是浏览器的值。
看看这两篇文章,是否可以帮助你,一个获取浏览器,一个获取操作系统信息。
php 获取访问者浏览器的代码
php获取访问者操作系统的代码
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前
By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
擊敗分裂小說需要多長時間?
3 週前
By DDD
R.E.P.O.保存文件位置:在哪里以及如何保護它?
3 週前
By DDD

熱門文章
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前
By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
擊敗分裂小說需要多長時間?
3 週前
By DDD
R.E.P.O.保存文件位置:在哪里以及如何保護它?
3 週前
By DDD

熱門文章標籤

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)