Ita*_*Ale 17 php mobile user-agent browser-detection
我们正在寻找一种方法来确定用户是否使用移动浏览器.我们需要通过解析用户代理字符串在PHP中执行此操作.我知道这种方法有很多注意事项,但我们确实需要这样做.
你有什么建议吗?一个好的(即使不是完美的)更新代码?
我知道WURFL,我相信它很棒,但它不能免费用于非开源项目.通过谷歌搜索,我也发现了这个代码:http://mobiforge.com/developing/story/lightweight-device-detection-php(以及一些变体),但我不确定.看起来它写得非常糟糕(例如,看看,当他们使用$ mobile_browser ='0'时,引号围绕整数...).
你能推荐什么吗?
谢谢,
亚历山德罗
Flo*_*ern 31
我正在使用这个:
$isMobile = (bool)preg_match('#\b(ip(hone|od)|android\b.+\bmobile|opera m(ob|in)i|windows (phone|ce)|blackberry'.
'|s(ymbian|eries60|amsung)|p(alm|rofile/midp|laystation portable)|nokia|fennec|htc[\-_]'.
'|up\.browser|[1-4][0-9]{2}x[1-4][0-9]{2})\b#i', $_SERVER['HTTP_USER_AGENT'] );
Run Code Online (Sandbox Code Playgroud)
它很短,可以检测大多数移动用户(或者更确切地说是智能手机).iPad和Android平板电脑不会被归类为"移动",因为它们的屏幕尺寸更大.
如果你想捕获平板电脑,你可以使用这个:
$isMobile = (bool)preg_match('#\b(ip(hone|od|ad)|android|opera m(ob|in)i|windows (phone|ce)|blackberry|tablet'.
'|s(ymbian|eries60|amsung)|p(laybook|alm|rofile/midp|laystation portable)|nokia|fennec|htc[\-_]'.
'|mobile|up\.browser|[1-4][0-9]{2}x[1-4][0-9]{2})\b#i', $_SERVER['HTTP_USER_AGENT'] );
Run Code Online (Sandbox Code Playgroud)
Șer*_*iță 12
我正在使用Mobile_Detect类.它几乎每周更新一次.代码在HTTP标头和User-Agent字符串中查找"移动"设备的标志.
演示 ←从您的移动设备运行
您可能只会使用:
include("Mobile_Detect.php");
$detect = new Mobile_Detect();
if ($detect->isMobile()) {
// any mobile platform
}
Run Code Online (Sandbox Code Playgroud)
该课程还尝试通过以下方式检测平板设备:
if($detect->isTablet()){
// any tablet
}
Run Code Online (Sandbox Code Playgroud)
检测移动设备没有灵丹妙药,但在决定使用外部API(如WURLF,DeviceAtlas等)之前,这是一个良好的开端.