php实现首页自动选择语言转跳

多多网址在首页上做一些链接,让顾客来采摘将在访问的个其他语言页面,让中中原人采用“普通话”,马来西亚人采撷“意大利语”,等等。那么能否做程序来机关扶助选择啊?答案是不可否认的,我们都在用google,你用中国语言文学系统张开google的首页,伸开的本来是普通话首页,而不会是其余语言。因为google会自动推断客户系统运用的首要推荐语言是怎样。如何能力做到像google那样呢,其实超级粗略,在浏览器发给web服务器的
HTTP Headers Information 中包含了这么二个音讯Accept-Language那么些新闻正是,浏览器中 工具-Internet选项-常规 下的 语言,
它正是用来设置浏览器可承担的言语首推项的,
它能够是各类可选用语言的优先排连串。上边以PHP为例,顾客可担任的语言音讯,放在$_SERVER[‘HTTP_ACCEPT_LANGUAGE’]里,变量音信是近乎那样的
zh-cn, 即使是多语言列,是接近zh-cn,en;q=0.8,ko;q=0.5,zh-tw;q=0.3底下的难点得以缓和了。?phperror_reporting(E_ALL
^ E_NOTICE);// 分析 HTTP_ACCEPT_LANGUAGE 的性质//
这里只取第一言语设置 preg_match(‘/^([a-z/-]+)/i’,
$_SERVER[‘HTTP_ACCEPT_LANGUAGE’], $matches);$lang =
$matches[1];switch ($lang) {case ‘zh-cn’ :header(‘Location:
[url][/url]’); break;case ‘zh-tw’ :header(‘Location:
[url][澳门新浦京8455com,/url]’); break;case ‘ko’ :header(‘Location: [url][/url]’);
break;default: header(‘Location: [url][/url]’); break;}?

大家都在用google,你用中国语言管法学系统展开google的首页,展开的本来是普通话首页,而不会是此外语言。因为google会自动剖断客商系统运用的首要推荐语言是何许。 
如何能力做到像google那样呢,其实异常的粗略, 
在浏览器发给web服务器的 HTTP Headers Information 中包含了那般叁个音讯 Accept-Language 
这一个新闻就是,浏览器中 工具->Internet选项->常规 下的 语言, 它正是用来安装浏览器可接纳的语言首推项的, 它可以是各类可担当语言的事情发生前排种类。 

客商可承当的言语新闻,放在$_SERVER[‘HTTP_ACCEPT_LANGUAGE’]里,变量音信是临近那样的
“zh-cn”, 借使是多语言列,是相符 “zh-cn,en;q=0.8,ko;q=0.5,zh-tw;q=0.3”

下面以PHP为例, 
客户可承当的语言音信,放在$_SERVER[‘HTTP_ACCEPT_LANGUAGE’]里, 
变量音讯是肖似那样的 “zh-cn”, 若是是多语言列,是相像 “zh-cn,en;q=0.8,ko;q=0.5,zh-tw;q=0.3” 
上面包车型地铁标题能够解决了。 

  上面包车型地铁主题材料得以解决了。

程序代码 

  代码:

<?php 
error_reporting(E_ALL ^ E_NOTICE); 

<?php
error_reporting(E_ALL ^ E_NOTICE);
// 分析 HTTP_ACCEPT_LANGUAGE 的属性
// 这里只取第一言语设置
(别的可依照供给巩固功效,这里只做轻便的艺术亲自过问)
preg_match(‘/^([a-z-] )/i’, $_SERVER[‘HTTP_ACCEPT_LANGUAGE’],
$matches);
$lang = $matches[1];
switch ($lang) {
case ‘zh-cn’ :
header(‘Location: ‘);
break;
case ‘zh-tw’ :
header(‘Location: ‘);
break;
case ‘ko’ :
header(‘Location: ‘);
break;
default:
header(‘Location: ‘);
break;
}
?>

// 分析 HTTP_ACCEPT_LANGUAGE 的属性 
// 这里只取第一言语设置 (其余可依靠须要巩固功能,这里只做简单的点子为人师表) 

preg_match(‘/^([a-z-]+)/i’, $_SERVER[‘HTTP_ACCEPT_LANGUAGE’], $matches); 
$lang = $matches[1]; 

switch ($lang) { 
case ‘zh-cn’ : 
header(‘Location: ‘);  
break; 
case ‘zh-tw’ : 
header(‘Location: ‘);  
break; 
case ‘ko’ : 
header(‘Location: ‘);  
break; 
default:  
header(‘Location: ‘);  
break; 

?>

You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图