PHP获取浏览器:令人困惑的输出


PHP get browser: confusing output

我有一个包含用户web浏览器信息的列表。该列表由PHP通过用户需求调查生成。输出如下:(示例):

  • Mozilla/4.0(兼容;MSIE 8.0;Windows NT 6.1;Trident/4.0;SLCC2;.NET CLR 2.0.50727;.NET CLR 3.5.30729;.NET CLR 3.0.30729;Media Center PC 6.0)
  • Mozilla/5.0(Windows NT 6.0;WOW64)AppleWebKit/553.19(KHTML,类似Gecko)Chrome/18.1025.152 Safari/553.19
  • Mozilla/5.0(兼容;MSIE 9.0;Windows NT 6.1;Trident/5.0)
  • Mozilla/4.0(兼容;MSIE 8.0;Windows NT 5.1;Trident/4.0;.NET CLR 3.0.4506.2152;.NET CLR 3.5.30729;.NET CLR 2.0.50727)
  • Mozilla/5.0(Windows NT 5.1;rv:11.0)Gecko/20100101 Firefox/11.0
  • Mozilla/5.0(Macintosh;Intel Mac OS X 10_7_3)AppleWebKit/553.19(KHTML,类似Gecko)Chrome/18.1025.151 Safari/553.19
  • Opera/9.80(Windows NT 6.0;U;da)Presto/2.10.229版本/11.62
  • Mozilla/5.0(iPad;CPU OS 5_0_1,类似Mac OS X)AppleWebKit/534.46(KHTML,类似Gecko)版本/5.1 Mobile/9A405 Safari/7534.48.3
  • Mozilla/5.0(iPhone;CPU iPhone OS 5_1,类似Mac OS X)AppleWebKit/534.46(KHTML,类似Gecko)版本/5.1 Mobile/9B179 Safari/7534.48.3
  • Mozilla/5.0(Windows NT 6.1;WOW64;rv:14.0)Gecko/20100101 Firefox/14.0

哪个是真正的网络浏览器?根据PHP手册[parent]、[platform]、[browser]、[version],但为什么它在一行中显示Safari和Chrome,为什么"MSIE"出现在括号内?

这些东西标识用户代理。但看起来每个平台或其他东西的布局都有点不同。

我不知道你会想对他们做什么,但也许这有任何帮助;http://www.useragentstring.com/

他们还有一个API,你可以通过它获得你想要的所有信息。

第一部分意味着它与Mozilla 5.0兼容-由于历史原因,它已经没有实际用途了,一些浏览器也列出了他们支持的其他引擎。然后是平台、浏览器和内部版本号/修订版。

您可能希望使用get_browser来帮助解析它。

从PHP的get_browser()文档中读取:

对于类似以下输出:Mozilla/5.0(Windows;U;Windows NT 5.1;en-US;rv:1.7)Gecko/20040803 Firefox/0.9.3,将获取以下信息:

[browser_name_regex] => '^mozilla/5'.0 (windows; .; windows nt 5'.1; .*rv:.*) gecko/.* firefox/0'.9.*$'
[browser_name_pattern] => 'Mozilla/5.0 (Windows; ?; Windows NT 5.1; *rv:*) Gecko/* Firefox/0.9*'
[parent] => 'Firefox 0.9'
[platform] => 'WinXP'
[browser] => 'Firefox'
[version] => 0.9
[majorver] => 0
[minorver] => 9
[cssversion] => 2
[frames] => 1
[iframes] => 1
[tables] => 1
[cookies] => 1
[backgroundsounds] =>
[vbscript] =>
[javascript] => 1
[javaapplets] => 1
[activexcontrols] =>
[cdf] =>
[aol] =>
[beta] => 1
[win16] =>
[crawler] =>
[stripper] =>
[wap] =>
[netclr] =>