有一个典型的移动用户代理regexp模式吗?
在设计用于检测移动用户代理的regexp模式中有无数的例子,甚至在本文的答案中也有不少。您知道其中一个可能是使用和支持最广泛的(在Git存储库中更新的)?往往会有一个有一个典型的移动用户代理regexp模式吗?,regex,mobile,user-agent,Regex,Mobile,User Agent,在设计用于检测移动用户代理的regexp模式中有无数的例子,甚至在本文的答案中也有不少。您知道其中一个可能是使用和支持最广泛的(在Git存储库中更新的)?往往会有一个独自去是危险的!拿这个来说。最终是所有东西的版本(例如,等),所以可能也有这个版本。提供了这个解决方案(针对JS): 嗯,是的,很复杂 如果你想使用另一种语言,请直接访问该网站。免责声明:我知道这个正则表达式不是完美的/精髓的,所以不要仅仅为此而投票:) 我只是想分享这几点 某些服务器未设置$\u SERVER['HTTP\u US
独自去是危险的!拿这个来说。
最终是所有东西的版本(例如,等),所以可能也有这个版本。提供了这个解决方案(针对JS):
嗯,是的,很复杂
如果你想使用另一种语言,请直接访问该网站。免责声明:我知道这个正则表达式不是完美的/精髓的,所以不要仅仅为此而投票:) 我只是想分享这几点
<?php
if(! empty($_SERVER['HTTP_USER_AGENT'])){
$useragent = $_SERVER['HTTP_USER_AGENT'];
if( preg_match('@(iPad|iPod|iPhone|Android|BlackBerry|SymbianOS|SCH-M\d+|Opera Mini|Windows CE|Nokia|SonyEricsson|webOS|PalmOS)@', $useragent) ){
header('Location: ./mobile/');
}
}
?>
您提到的这个难以捉摸的存储库在哪里?哈,多么不幸的打字错误(好奇的后代:请参阅修订历史)!哇,谢谢!基于这个regexp的复杂性,我想说它比我们目前使用的(基本上只是一个|分隔的名称列表)要深思熟虑一些。可能不想使用它们,因为当我尝试detectmobilebrowsers.com的PHP时,它没有检测到ipad是移动的。。。这是我的用户代理,Mozilla/5.0(iPad;CPU OS 5_0,如Mac OS X)AppleWebKit/534.46(KHTML,如Gecko)Version/5.1 Mobile/9A334 Safari/7534.48.3See-Pad和平板电脑未经设计检测。注意:此推荐网站自2014年以来未更新,因此这可能不再是最基本的答案。
<?php
if(! empty($_SERVER['HTTP_USER_AGENT'])){
$useragent = $_SERVER['HTTP_USER_AGENT'];
if( preg_match('@(iPad|iPod|iPhone|Android|BlackBerry|SymbianOS|SCH-M\d+|Opera Mini|Windows CE|Nokia|SonyEricsson|webOS|PalmOS)@', $useragent) ){
header('Location: ./mobile/');
}
}
?>