我来这里寻找有关通过用户代理嗅探iOS 6的答案,并在这里找到了一个很好的回答:如何通过用户代理检测iOS 6和所有次要版本?
我之前使用过的所有正则表达式都非常简单,现在我正在尝试让这个正则表达式正常工作,但却一直碰壁。不幸的是,PHP解析器没有给出任何错误提示!
我知道我做错了什么,因为我在我的笔记本电脑上运行火狐浏览器时还能匹配以下代码。
如果有人能指导我正确的方向,我将不胜感激,我无法弄清楚自己做错了什么。
$subject = $_SERVER['HTTP_USER_AGENT'];
$pattern = '~^(?:(?:(?:Mozilla/\d.\d\s*()+|Mobile\s*Safari\s*\d+.\d+(.\d+)?\s*)(?:iPhone(?:\s+Simulator)?|iPad|iPod);\s*(?:U;\s*)?(?:[a-z]+(?:-[a-z]+)?;\s*)?CPU\s* (?:iPhone\s*)?(?:OS\s*\d+\d+(?:\d+)?\s*)?(?:like|comme)\s*Mac\s*O?S?\s*X(?:;\s*[a-z]+(?:-[a-z]+)?)?)\s*)?(?:AppleWebKit/\d+(?:.\d+(?:.\d+)?|\s*+)?\s*)?(?:(KHTML,\s*(?:like|comme)\s*Gecko\s*)\s*)?(?:Version/\d+.\d+(?:.\d+)?\s*)?(?:Mobile/\w+\s*)?(?:Safari/\d+.\d+(.\d+)?)?.*$~';
if (preg_match($pattern,$subject))
{
echo "match";
}
var_dump( $_SERVER['HTTP_USER_AGENT']);
输出什么? - nickb