全国服务热线:400-6566-535 广州热线:020-82105691 客服QQ:858560031
后台演示 猪八戒 阿里巴巴商铺 手机版
网络营销电子商务建站知识编程知识行业资讯SEO知识常见问题网络安全
您当前位置: 首页 >资讯活动 > 编程知识 > PHP判断浏览器类型和浏览器语言?

PHP判断浏览器类型和浏览器语言?

时间:2017-05-11 作者:七想网络

 


用php语言来判断浏览器类型其实很简单。
因为浏览器在和服务器连接时候都会先发送一些包含自己信息的内容(浏览器类型、语言啦)。

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

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


判断浏览器类型:

  1. <?php  

  2.     $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 4); //只取前4位,这样只判断最优先的语言。如果取前5位,可能出现en,zh的情况,影响判断。  

  3.     if (preg_match("/zh-c/i"$lang))  

  4.     echo "简体中文";  

  5.     else if (preg_match("/zh/i"$lang))  

  6.     echo "繁體中文";  

  7.     else if (preg_match("/en/i"$lang))  

  8.     echo "English";  

  9.     else if (preg_match("/fr/i"$lang))  

  10.     echo "French";  

  11.     else if (preg_match("/de/i"$lang))  

  12.     echo "German";  

  13.     else if (preg_match("/jp/i"$lang))  

  14.     echo "Japanese";  

  15.     else if (preg_match("/ko/i"$lang))  

  16.     echo "Korean";  

  17.     else if (preg_match("/es/i"$lang))  

  18.     echo "Spanish";  

  19.     else if (preg_match("/sv/i"$lang))  

  20.     echo "Swedish";  

  21.     else echo $_SERVER["HTTP_ACCEPT_LANGUAGE"];  

  22. ?> 


indow.navigator.systemLanguage    得到当前浏览器所使用的语系 IE5.5以上支持
返回值:
zh-cn Chinese(PRC)
zh-tw Chinese(Taiwan Region)
zh-hk Chinese(Hong Kong SAR, PRC)
zh-sg Chinese(Singapore)
en-us English(United States)
en      English

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




例子:

var _OurplusLanguage = (navigator.systemLanguage?navigator.systemLanguage:navigator.language); //判断浏览器语言是中文还是英文


  1. function getPreferredLanguage() {  

  2.     $langs = array();  

  3.     if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {  

  4.         // break up string into pieces (languages and q factors)  

  5.         preg_match_all('/([a-z]{1,8}(-[a-z]{1,8})?)s*(;s*qs*=s*(1|0.[0-9]+))?/i',  

  6.                 $_SERVER['HTTP_ACCEPT_LANGUAGE'], $lang_parse);  

  7.         if (count($lang_parse[1])) {  

  8.             // create a list like "en" => 0.8  

  9.             $langs = array_combine($lang_parse[1], $lang_parse[4]);  

  10.             // set default to 1 for any without q factor  

  11.             foreach ($langs as $lang => $val) {  

  12.                 if ($val === ''$langs[$lang] = 1;  

  13.             }  

  14.             // sort list based on value  

  15.             arsort($langs, SORT_NUMERIC);  

  16.         }  

  17.     }  

  18.     //extract most important (first)  

  19.     foreach ($langs as $lang => $val) { break; }  

  20.     //if complex language simplify it  

  21.     if (stristr($lang,"-")) {$tmp = explode("-",$lang); $lang = $tmp[0]; }  

  22.     return $lang;  



$_SERVER['HTTP_ACCEPT_LANGUAGE']获取当前语言
Afrikaans (af)
Albanian (sq)
Basque (eu)
Bulgarian (bg)
Byelorussian (be)
Catalan (ca)
Chinese (zh)
Chinese/China (zh-cn)
Chinese/Taiwan (zh-tw)
Chinese/Hong Kong (zh-hk)
Chinese/singapore (zh-sg)
Croatian (hr)
Czech (cs)
Danish (da)
Dutch (nl)
Dutch/Belgium (nl-be)
English (en)
English/United Kingdom (en-gb)
English/United Satates (en-us)
English/Australian (en-au)
English/Canada (en-ca)
English/New Zealand (en-nz)
English/Ireland (en-ie)
English/South Africa (en-za)
English/Jamaica (en-jm)
English/Belize (en-bz)
English/Trinidad (en-tt)
Estonian (et)
Faeroese (fo)
Farsi (fa)
Finnish (fi)
French (fr)
French/Belgium (fr-be)
French/France (fr-fr)
French/Switzerland (fr-ch)
French/Canada (fr-ca)
French/Luxembourg (fr-lu)
Gaelic (gd)
Galician (gl)
German (de)
German/Austria (de-at)
German/Germany (de-de)
German/Switzerland (de-ch)
German/Luxembourg (de-lu)
German/Liechtenstein (de-li)
Greek (el)
Hindi (hi)
Hungarian (hu)
Icelandic (is)
Indonesian (id or in)
Irish (ga)
Italian (it)
Italian/ Switzerland (it-ch)
Japanese (ja)
Korean (ko)
Latvian (lv)
Lithuanian (lt)
Macedonian (mk)
Malaysian (ms)
Maltese (mt)
Norwegian (no)
Polish (pl)
Portuguese (pt)
Portuguese/Brazil (pt-br)
Rhaeto-Romanic (rm)
Romanian (ro)
Romanian/Moldavia (ro-mo)
Russian (ru)
Russian /Moldavia (ru-mo)
Scots Gaelic (gd)
Serbian (sr)
Slovack (sk)
Slovenian (sl)
Sorbian (sb)
Spanish (es or es-do)
Spanish/Argentina (es-ar)
Spanish/Colombia (es-co)
Spanish/Mexico (es-mx)
Spanish/Spain (es-es)
Spanish/Guatemala (es-gt)
Spanish/Costa Rica (es-cr)
Spanish/Panama (es-pa)
Spanish/Venezuela (es-ve)
Spanish/Peru (es-pe)
Spanish/Ecuador (es-ec)
Spanish/Chile (es-cl)
Spanish/Uruguay (es-uy)
Spanish/Paraguay (es-py)
Spanish/Bolivia (es-bo)
Spanish/El salvador (es-sv)
Spanish/Honduras (es-hn)
Spanish/Nicaragua (es-ni)
Spanish/Puerto Rico (es-pr)
Sutu (sx)
Swedish (sv)
Swedish/Findland (sv-fi)
Thai (ts)
Tswana (tn)
Turkish (tr)
Ukrainian (uk)
Urdu (ur)
Vietnamese (vi)
Xshosa (xh)
Yiddish (ji)
Zulu (zu)


//PHP如何识别系统语言或浏览器语言
function ylang(){
preg_match('/^([a-z-]+)/i', $_SERVER['HTTP_ACCEPT_LANGUAGE'], $matches);
$lang = $matches[1];
//print_r($lang);
switch ($lang) {
    case 'zh-CN' :
  $lan = 'cn';
     break;
   case 'zh-TW' :
  $lan = 'cn';
    default:
  $lan = 'en';
     break;
}
return $lan;

}

 

准备开展业务? 立即创建网站 成为代理商
网络营销
  1. 企业网站如何做好网站优化与推广工作?
  2. 中小企业怎样做网络营销 广州七想网络...
  3. 网络营销并不神秘,七想网络带您揭开秘...
  4. 透过优衣库事件 看网络营销?
  5. QQ营销推广技巧?
  6. 中小企业网站如何推广才有效果呢?