Heim > Backend-Entwicklung > PHP-Tutorial > PHP如何识别系统语言或浏览器语言

PHP如何识别系统语言或浏览器语言

WBOY
Freigeben: 2016-06-23 14:04:02
Original
1107 Leute haben es durchsucht

有两个站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;}
Nach dem Login kopieren

火狐和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获取访问者操作系统的代码

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage