$_SERVER["HTTP_ACCEPT_LANGUAGE"] 是一个变量不是函数,再具体点就是个超级全局变量 确实可以取得浏览器发送的头信息里的语言信息 例如最简单的直接显示这个变量 PHP: <?php echo $_SERVER["HTTP_ACCEPT_LANGUAGE"]; ?> 不同的客户浏览器设置显示的信息是不同的。要用这东西后面必须用strpos()来查找第一个值,或者用正则处理 俺水平有限哪里说错了,就包涵下。:ft:
要注意大小写啊 IE7,要是设置了简体中文是zh-CN后面的CN是大写 美国英语是en-US后面US大写 但是firefox都是小写。 最简单就是用strtolower()把其变成全部小写,这样方便 顺便写个条件判断的例子 PHP: <?php if(!(strpos(strtolower($_SERVER["HTTP_ACCEPT_LANGUAGE"]),'zh-cn')===false)) $lang = 'Chinese'; else $lang = $_SERVER["HTTP_ACCEPT_LANGUAGE"]; echo "$lang"; ?> 可以比较下没有strtolower()在ie下的区别。 用了strtolower()这样不管是ie还是firefox都可以用来判断了。 要实现不同语言的页面跳转用个switch分支还有break子句组合就ok 当然strpos()不适合浏览器设置了多个语言的,查找的字符串是只要出现就匹配的 正则懒得写了,要是没有对症下药,不要埋怨啦,不学是牛人,也不敢胡乱在您面前班门弄斧:redface: