我需要使用PHP找到Chrome版本。
我编码了这个:
$ua = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.60 Safari/537.1";
preg_match( "#Chrome/([0-9]{2})#", $ua, $match );
print_r($match);
返回:
Array
(
[0] => Chrome/21
[1] => 21
)
我有两个问题:
这适用于所有Chrome浏览器吗? (因为$ ua是我自己的用户代理。
另外,如何制作图案,使其在数组中仅返回“21”而不是“Chrome / 21”和“21”?
答案 0 :(得分:1)
此不会适用于所有Chrome浏览器。如果它是Chrome版本3怎么办?或Chrome版本2245?
请参阅me。
我要做的是将您的正则表达式更改为以下内容:
preg_match( "#Chrome/(.+?)\.#", $ua, $match );
返回与现在相同的内容,但它也适用于任意数字版本。
array (
0 => 'Chrome/21.',
1 => '21',
)
您可以测试此here。
至于您的第二个问题,您无法修改preg_match()
以返回这样的值。简单地设置$match = $match[1]
可以正常工作,并且完全可以接受!
答案 1 :(得分:0)
添加:
$ match = $ match [1];