我正在尝试编写一个为不同浏览器调用某些函数的类.我想要做的是创建一个switch语句,接受从正则表达式中提取的(CHROME,SAFARI,FIREFOX,MSIE等).
我对正则表达式部分感到难过.我创建了命名组,但我无法弄清楚如何获取找到的命名组.
$subject = 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.3 (KHTML, like Gecko) Chrome/6.0.472.63 Safari/534.3';
preg_match('/(?:(?P<CHROME>Chrome)|(?P<MSIE>MSIE)|(?P<IPHONE>iPhone)|(?P<FIREFOX>Firefox)|(?P<SAFARI>Safari))/', $subject, $regs);
Run Code Online (Sandbox Code Playgroud)
这是我运行时得到的.
$regs = Array
(
[0] => Chrome
[CHROME] => Chrome
[1] => Chrome
)
Run Code Online (Sandbox Code Playgroud)
我想使用$ regs切换,但是在正则表达式之后键都被搞砸了.我是以正确的方式来做这件事的吗?如何确保从数组中的键中拉出CHROME?
返回值的一个要素browser似乎是您正在寻找的.
您可以从http://browsers.garykeith.com/downloads.asp获取更新至今的browscap.ini(其中包含用于标识浏览器/使用代理字符串的模式)
| 归档时间: |
|
| 查看次数: |
420 次 |
| 最近记录: |