我正在用这个preg_match
string
preg_match('/Trident/7.0; rv:11.0/',$_SERVER["HTTP_USER_AGENT"]
检测 IE11,以便我可以为其启用平板电脑模式。但是它返回“未知分隔符 7”。
我怎样才能做到这一点而不让 PHP 向我抱怨?
这真的是一个正则表达式还是只是一个文字字符串?如果它只是一个字符串,您可以使用strpos函数代替。
if (strpos($_SERVER['HTTP_USER_AGENT'], 'Trident/7.0; rv:11.0') !== false) {
// your code
}
如果是正则表达式,则必须转义特殊字符,例如/
and .
EDIT:
您可以在这个答案的注释中看到,代码在所有情况下都无法正确检测 IE 11。我实际上并没有测试它来匹配它,我只是调整了问题创建者的代码来使用strpos
代替preg_match
因为它被错误地应用了。
如果您想要一种可靠的方法来检测 IE 11,请查看其他答案。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)