php实现首页自动选择语言转跳_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"
下面的问题可以迎刃而解了。

<?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: [url]http://cn.example.com/[/url]');
                break;
        case 'zh-tw' :
                header('Location: [url]http://tw.example.com/[/url]');
                break;
        case 'ko' :
                header('Location: [url]http://ko.example.com/[/url]');
                break;
        default:
                header('Location: [url]http://en.example.com/[/url]');
                break;
}

?> 

时间: 2024-12-28 04:43:06

php实现首页自动选择语言转跳_php基础的相关文章

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

很多网站在首页上做一些链接,让用户来选择将要访问的各自的语言页面,让中国人选择"中文",韩国人选择"朝鲜语",等等.那么能不能做程序来自动帮助选择呢?答案是肯定的,大家都在用google,你用中文系统打开google的首页,打开的自然是中文首页,而不会是其他语言.因为google会自动判断用户系统使用的首选语言是什么.怎样才能做到像google那样呢,其实很简单,在浏览器发给web服务器的 HTTP Headers Information 中包含了这样一个信息 Ac

让你的网站首页自动选择语言

    过去在一家软件外企工作时写过一个小的web实验性项目,其中一部分需求是用户界面的多种语言(简体中文.繁体中文.英语.朝鲜语.日语)支持,当时使用了模板技术来实现了该需求,并用Cookies保存了用户的设置,但是用户第一次登陆时(或者是将Cookies删除了以后)仍然需要选择语言种类,那么能不能更方便用户呢?能不能用程序来自动帮助选择呢?     答案是肯定的,大家都在用google,你用中文系统打开google的首页,打开的自然是中文首页,而不会是其他语言.因为google会自动判断用户

用ASP实现中英文字体的自动选择

用ASP实现中英文字体的自动选择 在Windows系统中,每一种语言的字符的显示都有对应的默认字体,例如在大部分的应用程序中,简体中文(GB2312)字符默认的显示字体是"宋体",英文字符则为"Arial".使用这种默认字体不仅可以照顾到大多数的客户端系统不会出现缺少此类字体的尴尬局面,重要的是还能达到此类字符的显示与打印的最大限度上的工整与美观,与人们的阅读习惯保持一致. 提出问题 在Word 97/2000中,文档正文默认的字体样式是:中文字符的字体是宋体(简体

ODOO中通过域名来自动选择数据库

安装了一个Odoo8的测试环境,给不同的客户建立了不同的数据库,为了不让客户访问时看到其它数据库选择,需要把选择数据库的功能隐藏起来.每个客户分配一个域名,用不同的域名来自动关联数据库.   在之前openerp7应用中,有人提到了通过修改源码的方式来实现,但实际体验不太好,后来看了odoo8中的代码,实际上系统本身就已经提供了类似的功能.       def db_filter(dbs, httprequest=None):       httprequest = httprequest or

vb实现自动选择Text的内容

在使用VFP的应用进行录入时,每进入一个录入框,就自动选择该框中的所有内容.利用以下的代码,也可实现类似的功能. Private Sub MyTextBox_GotFocus() AutoSelect MyTextBox End Sub Sub AutoSelect(SelObject As Control) SelObject.SelStart = 0 If TypeOf SelObject Is MaskEdBox Then SelObject.SelLength = Len(SelObje

JavaScript实现点击自动选择TextArea文本的方法

  本文实例讲述了JavaScript实现点击自动选择TextArea文本的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 <textarea rows="10" cols="50" onclick="this.focus();this.select()" readonly="readonly"> example text </textarea> 希望本文所述对大家的javascri

asp.net-在登录成功页面中增加“注销”按钮,“注销”按钮表示取消自动登录,并跳转到登录页面。

问题描述 在登录成功页面中增加"注销"按钮,"注销"按钮表示取消自动登录,并跳转到登录页面. 登录界面 protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { if (Request.Cookies["UserName"] != null) // 从客户端读取cookie值 { Response.Redirect("Default4.aspx&q

link环境下制作的《网盘软件》如何自动判断用户应该跳转到哪里的服务器?

问题描述 link环境下制作的<网盘软件>如何自动判断用户应该跳转到哪里的服务器? link环境下制作的<网盘软件>如何自动判断用户应该跳转到哪里的服务器? 解决方案 http://jingyan.baidu.com/article/c74d60006a78400f6a595d85.html 解决方案二: 这个问题怎么老是出来呀,感觉没有人会,还人工置顶,希望管理放到悬赏区去吧.

delphi7 TcxLookupcombobox怎样自动选择第一条记录或者只有一条记录时自动选择

问题描述 delphi7 TcxLookupcombobox怎样自动选择第一条记录或者只有一条记录时自动选择 delphi7 TcxLookupcombobox怎样自动选择第一条记录或者只有一条记录时自动选择 不需要下拉点选