`
天梯梦
  • 浏览: 13636163 次
  • 性别: Icon_minigender_2
  • 来自: 洛杉矶
社区版块
存档分类
最新评论

PHP判断浏览器类型和浏览器语言(附各国语言简写代码)

阅读更多

用php语言来判断浏览器类型其实很简单。


因为浏览器在和服务器连接时候都会先发送一些包含自己信息的内容(浏览器类型、语言啦)。

这里我们主要分析的是_SERVER["HTTP_USER_AGENT"](浏览器类型)和_SERVER["HTTP_ACCEPT_LANGUAGE"](浏览器语言)。

 

我们所要做的就是把这些内容读出来,然后用strpos或者preg_match函数来对比就可以了。

判断浏览器类型:

 

<?php echo $_SERVER["HTTP_USER_AGENT"]; ?>
 

判断浏览器语言:

 

<?php echo $_SERVER["HTTP_ACCEPT_LANGUAGE"]; ?>
 

判断浏览器类型的具体程序如下:

 

<?php
	if(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE 8.0"))
	echo "Internet Explorer 8.0";
	else if(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE 7.0"))
	echo "Internet Explorer 7.0";
	else if(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE 6.0"))
	echo "Internet Explorer 6.0";
	else if(strpos($_SERVER["HTTP_USER_AGENT"],"Firefox/3"))
	echo "Firefox 3";
	else if(strpos($_SERVER["HTTP_USER_AGENT"],"Firefox/2"))
	echo "Firefox 2";
	else if(strpos($_SERVER["HTTP_USER_AGENT"],"Chrome"))
	echo "Google Chrome";
	else if(strpos($_SERVER["HTTP_USER_AGENT"],"Safari"))
	echo "Safari";
	else if(strpos($_SERVER["HTTP_USER_AGENT"],"Opera"))
	echo "Opera";
	else echo $_SERVER["HTTP_USER_AGENT"];
?>
 

判断浏览器语言的具体程序如下:

 

<?php
	$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 4); //只取前4位,这样只判断最优先的语言。如果取前5位,可能出现en,zh的情况,影响判断。
	if (preg_match("/zh-c/i", $lang))
	echo "简体中文";
	else if (preg_match("/zh/i", $lang))
	echo "繁體中文";
	else if (preg_match("/en/i", $lang))
	echo "English";
	else if (preg_match("/fr/i", $lang))
	echo "French";
	else if (preg_match("/de/i", $lang))
	echo "German";
	else if (preg_match("/jp/i", $lang))
	echo "Japanese";
	else if (preg_match("/ko/i", $lang))
	echo "Korean";
	else if (preg_match("/es/i", $lang))
	echo "Spanish";
	else if (preg_match("/sv/i", $lang))
	echo "Swedish";
	else echo $_SERVER["HTTP_ACCEPT_LANGUAGE"];
?>
 


判断浏览器类型主要是靠分析_SERVER["HTTP_USER_AGENT"]的内容,而分析浏览器语言则是分析_SERVER["HTTP_ACCEPT_LANGUAGE"]。

 

 

或者:

 

function getPreferredLanguage() {
	$langs = array();
	if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
		// break up string into pieces (languages and q factors)
		preg_match_all('/([a-z]{1,8}(-[a-z]{1,8})?)s*(;s*qs*=s*(1|0.[0-9]+))?/i',
				$_SERVER['HTTP_ACCEPT_LANGUAGE'], $lang_parse);
		if (count($lang_parse[1])) {
			// create a list like "en" => 0.8
			$langs = array_combine($lang_parse[1], $lang_parse[4]);
			// set default to 1 for any without q factor
			foreach ($langs as $lang => $val) {
				if ($val === '') $langs[$lang] = 1;
			}
			// sort list based on value
			arsort($langs, SORT_NUMERIC);
		}
	}
	//extract most important (first)
	foreach ($langs as $lang => $val) { break; }
	//if complex language simplify it
	if (stristr($lang,"-")) {$tmp = explode("-",$lang); $lang = $tmp[0]; }
	return $lang;
}
 
  • af 公用荷兰语
  • af-ZA 公用荷兰语 – 南非
  • sq 阿尔巴尼亚
  • sq-AL 阿尔巴尼亚 -阿尔巴尼亚
  • ar 阿拉伯语
  • ar-DZ 阿拉伯语 -阿尔及利亚
  • ar-BH 阿拉伯语 -巴林
  • ar-EG 阿拉伯语 -埃及
  • ar-IQ 阿拉伯语 -伊拉克
  • ar-JO 阿拉伯语 -约旦
  • ar-KW 阿拉伯语 -科威特
  • ar-LB 阿拉伯语 -黎巴嫩
  • ar-LY 阿拉伯语 -利比亚
  • ar-MA 阿拉伯语 -摩洛哥
  • ar-OM 阿拉伯语 -阿曼
  • ar-QA 阿拉伯语 -卡塔尔
  • ar-SA 阿拉伯语 – 沙特阿拉伯
  • ar-SY 阿拉伯语 -叙利亚共和国
  • ar-TN 阿拉伯语 -北非的共和国
  • ar-AE 阿拉伯语 – 阿拉伯联合酋长国
  • ar-YE 阿拉伯语 -也门
  • hy 亚美尼亚
  • hy-AM 亚美尼亚的 -亚美尼亚
  • az Azeri
  • az-AZ-Cyrl Azeri-(西里尔字母的) 阿塞拜疆
  • az-AZ-Latn Azeri(拉丁文)- 阿塞拜疆
  • eu 巴斯克
  • eu-ES 巴斯克 -巴斯克
  • be Belarusian
  • be-BY Belarusian-白俄罗斯
  • bg 保加利亚
  • bg-BG 保加利亚 -保加利亚
  • ca 嘉泰罗尼亚
  • ca-ES 嘉泰罗尼亚 -嘉泰罗尼亚
  • zh-HK 华 – 香港的 SAR
  • zh-MO 华 – 澳门的 SAR
  • zh-CN 华 -中国
  • zh-CHS 华 (单一化)
  • zh-SG 华 -新加坡
  • zh-TW 华 -台湾
  • zh-CHT 华 (传统的)
  • hr 克罗埃西亚
  • hr-HR 克罗埃西亚 -克罗埃西亚
  • cs 捷克
  • cs-CZ 捷克 – 捷克
  • da 丹麦文
  • da-DK 丹麦文 -丹麦
  • div Dhivehi
  • div-MV Dhivehi-马尔代夫
  • nl 荷兰
  • nl-BE 荷兰 -比利时
  • nl-NL 荷兰 – 荷兰
  • en 英国
  • en-AU 英国 -澳洲
  • en-BZ 英国 -伯利兹
  • en-CA 英国 -加拿大
  • en-CB 英国 -加勒比海
  • en-IE 英国 -爱尔兰
  • en-JM 英国 -牙买加
  • en-NZ 英国 – 新西兰
  • en-PH 英国 -菲律宾共和国
  • en-ZA 英国 – 南非
  • en-TT 英国 – 千里达托贝哥共和国
  • en-GB 英国 – 英国
  • en-US 英国 – 美国
  • en-ZW 英国 -津巴布韦
  • et 爱沙尼亚
  • et-EE 爱沙尼亚的 -爱沙尼亚
  • fo Faroese
  • fo-FO Faroese- 法罗群岛
  • fa 波斯语
  • fa-IR 波斯语 -伊朗王国
  • fi 芬兰语
  • fi-FI 芬兰语 -芬兰
  • fr 法国
  • fr-BE 法国 -比利时
  • fr-CA 法国 -加拿大
  • fr-FR 法国 -法国
  • fr-LU 法国 -卢森堡
  • fr-MC 法国 -摩纳哥
  • fr-CH 法国 -瑞士
  • gl 加利西亚
  • gl-ES 加利西亚 -加利西亚
  • ka 格鲁吉亚州
  • ka-GE 格鲁吉亚州 -格鲁吉亚州
  • de 德国
  • de-AT 德国 -奥地利
  • de-DE 德国 -德国
  • de-LI 德国 -列支敦士登
  • de-LU 德国 -卢森堡
  • de-CH 德国 -瑞士
  • el 希腊
  • el-GR 希腊 -希腊
  • gu Gujarati
  • gu-IN Gujarati-印度
  • he 希伯来
  • he-IL 希伯来 -以色列
  • hi 北印度语
  • hi-IN 北印度的 -印度
  • hu 匈牙利
  • hu-HU 匈牙利的 -匈牙利
  • is 冰岛语
  • is-IS 冰岛的 -冰岛
  • id 印尼
  • id-ID 印尼 -印尼
  • it 意大利
  • it-IT 意大利 -意大利
  • it-CH 意大利 -瑞士
  • ja 日本
  • ja-JP 日本 -日本
  • kn 卡纳达语
  • kn-IN 卡纳达语 -印度
  • kk Kazakh
  • kk-KZ Kazakh-哈萨克
  • kok Konkani
  • kok-IN Konkani-印度
  • ko 韩国
  • ko-KR 韩国 -韩国
  • ky Kyrgyz
  • ky-KZ Kyrgyz-哈萨克
  • lv 拉脱维亚
  • lv-LV 拉脱维亚的 -拉脱维亚
  • lt 立陶宛
  • lt-LT 立陶宛 -立陶宛
  • mk 马其顿
  • mk-MK 马其顿 -FYROM
  • ms 马来
  • ms-BN 马来 -汶莱
  • ms-MY 马来 -马来西亚
  • mr 马拉地语
  • mr-IN 马拉地语 -印度
  • mn 蒙古
  • mn-MN 蒙古 -蒙古
  • no 挪威
  • nb-NO 挪威 (Bokm?l) – 挪威
  • nn-NO 挪威 (Nynorsk)- 挪威
  • pl 波兰
  • pl-PL 波兰 -波兰
  • pt 葡萄牙
  • pt-BR 葡萄牙 -巴西
  • pt-PT 葡萄牙 -葡萄牙
  • pa Punjab 语
  • pa-IN Punjab 语 -印度
  • ro 罗马尼亚语
  • ro-RO 罗马尼亚语 -罗马尼亚
  • ru 俄国
  • ru-RU 俄国 -俄国
  • sa 梵文
  • sa-IN 梵文 -印度
  • sr-SP-Cyrl 塞尔维亚 -(西里尔字母的) 塞尔维亚共和国
  • sr-SP-Latn 塞尔维亚 (拉丁文)- 塞尔维亚共和国
  • sk 斯洛伐克
  • sk-SK 斯洛伐克 -斯洛伐克
  • sl 斯洛文尼亚
  • sl-SI 斯洛文尼亚 -斯洛文尼亚
  • es 西班牙
  • es-AR 西班牙 -阿根廷
  • es-BO 西班牙 -玻利维亚
  • es-CL 西班牙 -智利
  • es-CO 西班牙 -哥伦比亚
  • es-CR 西班牙 – 哥斯达黎加
  • es-DO 西班牙 – 多米尼加共和国
  • es-EC 西班牙 -厄瓜多尔
  • es-SV 西班牙 – 萨尔瓦多
  • es-GT 西班牙 -危地马拉
  • es-HN 西班牙 -洪都拉斯
  • es-MX 西班牙 -墨西哥
  • es-NI 西班牙 -尼加拉瓜
  • es-PA 西班牙 -巴拿马
  • es-PY 西班牙 -巴拉圭
  • es-PE 西班牙 -秘鲁
  • es-PR 西班牙 – 波多黎各
  • es-ES 西班牙 -西班牙
  • es-UY 西班牙 -乌拉圭
  • es-VE 西班牙 -委内瑞拉
  • sw Swahili
  • sw-KE Swahili-肯尼亚
  • sv 瑞典
  • sv-FI 瑞典 -芬兰
  • sv-SE 瑞典 -瑞典
  • syr Syriac
  • syr-SY Syriac-叙利亚共和国
  • ta 坦米尔
  • ta-IN 坦米尔 -印度
  • tt Tatar
  • tt-RU Tatar-俄国
  • te Telugu
  • te-IN Telugu-印度
  • th 泰国
  • th-TH 泰国 -泰国
  • tr 土耳其语
  • tr-TR 土耳其语 -土耳其
  • uk 乌克兰
  • uk-UA 乌克兰 -乌克兰
  • ur Urdu
  • ur-PK Urdu-巴基斯坦
  • uz Uzbek
  • uz-UZ-Cyrl Uzbek-(西里尔字母的) 乌兹别克斯坦
  • uz-UZ-Latn Uzbek(拉丁文)- 乌兹别克斯坦
  • vi 越南
  • vi-VN 越南 -越南

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    国家代码和语言代码JSON

    浏览器language 收集, 可根据国家获取语言代码和根据国家代码获取国家中英文名称等, json 格式,可以在任何地方使用 国家缩写代码以及国家语言代码json格式收集,中英文名称

    世界语言代码json文件

    世界语言代码,比如中国是zh-cn,对应的国家名字也有相关的字段

    Android各国语言缩写以及各国语言Values文件夹命名规则

    Android各国语言缩写以及各国语言Values文件夹命名规则

    android各国语言缩写

    android各国语言简称。各国语言的英文简写、简称。

    ISO639-1语言缩写代码

    ISO639-1语言缩写标准,来自International Organization for Standardization。详情可参考https://www.iso.org/iso-639-language-codes.html

    Android 各国语言缩写及简称详细介绍

    android资源文件夹的写法规则: 语言缩写-国家地区缩写,本文将详细介绍Android 各国语言缩写及简称,需要的朋友可以参考下

    绿色浏览器-仿站专用的浏览器

    仿站有了这个浏览器,将十分轻松的拆分代码、图片、CSS等等。详细功能还有:广告过滤, 鼠标手势, 鼠标拖拽, 鼠标拖拽菜单, 自动填表, 自动滚屏, 自动刷新, 自动隐藏, 自动保存, 分类保存, 身份信息, 模拟按键, 网速...

    语言代码表.zip

    ISO语言代码表 类似于zh|zh-CN|en|en-US等 全球语言|国际语言|语言缩写 压缩包里是html,一个简单的表格,如有需要可自行导入数据库中!

    PHP+MySQL数据库网站开发全程实例附源码(基础版)

    •PHP(PHP: Hypertext Preprocessor,超文本预处理器的缩写),是一 种被广泛应用的开放源代码的、基于服务器端的用于产生动态网页 的、可嵌入HTML中的脚本程序语言,尤其适合 WEB 开发。 •当客户端向服务器的程序...

    firefox30浏览器

    Mozilla Firefox,中文俗称“火狐”(正式缩写为Fx或fx,非正式缩写为MF),是一个自由及开放源代码的网页浏览器,使用Gecko排版引擎,支持多种操作系统,如Windows、Mac OS X及GNU/Linux等。该浏览器提供了两种版本...

    android 世界各国英文简写代码 资源文件 arrarys.xml

    今日又用到这段代码,忽然感觉到如果是第一次用的人肯定也会很麻烦。故在此上传一份。后人再用就不必重复做此工作。跟体育老师学过语文,见谅。 放在android项目的 res-values 目录下 大神略过

    MARC浏览器 V2.0(会员免费版)

    MARC浏览器 V2.0 特点说明: 1.支持CNMARC,USMARC格式MARC文件。 2.可以自由输入性跳转到所需查看的MARC记录。 3.支持默认打开文件。 4.支持编辑修改MARC并及时保存。 5.支持简单查询列表内MARC数据(题名,...

    多国语言 简写对照表

    常见多语言简写对照表,用于linux下翻译

    ie核心多页面浏览器

    许多程序员使用ie为核心,引入了多页面、强化操作等人性化的功能,做成更加方便的浏览器。Myie在这个领域里算的上先驱了。后续的许多软件都是在继承了myie的理念增加更加强大功能。软件的开发时间比较早。但以现在的...

    国家地区代码+中文名称+货币代码+货币符号+汇率+web语言缩写+日期格式+数字格式化 的sql版表格

    包含国家地区代码+中文名称+货币代码+货币符号+汇率+web语言缩写+日期, 需要做国际化交易或者商城开发的同学,可以参考。 -- -- 表的结构 `currencys` -- CREATE TABLE `currencys` ( `id` bigint UNSIGNED NOT ...

    PHP (HTML 内嵌式的语言)

    PHP PHP,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertext Preprocessor)的缩写。PHP 是一种 HTML 内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格...

    ISO-4217世界各国货币的简写规范代码.xlsx

    中英文描述、有国家、字母、数字对比等,很健全的一个表格: 比如: Currency 货币中文名称 Alphabetic Code 简写代码 Numeric Code Minor unit Afghani 阿富汗尼 AFN 971 2

    C#数据类型简写.rar

    C#数据类型简写. 多控件的简写 方便查询 易记录

    UML(Unified Modeling Language的缩写)统一建模语言

    UML(Unified Modeling Language的缩写)统一建模语言,是用来对软件密集系统进行可视化建模的一种语言。UML为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。统一建模语言 (UML)是非专利的第三...

Global site tag (gtag.js) - Google Analytics