首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >移动浏览器检测?

移动浏览器检测?
EN

Stack Overflow用户
提问于 2011-07-10 01:28:03
回答 3查看 17.2K关注 0票数 17

我们正在寻找一种方法来确定用户是否正在使用移动浏览器。我们需要在PHP中通过解析用户代理字符串来做到这一点。我知道这种方法有很多注意事项,但我们真的需要这样做。

你有什么建议吗?一个好的(即使不是完美的)更新的代码?

我知道WURFL,我相信它很棒,但它不再免费用于非开源项目。通过谷歌搜索,我还找到了这个代码:http://mobiforge.com/developing/story/lightweight-device-detection-php (和一些变体),但我不确定它。看起来它写得很糟糕(例如,当他们使用$mobile_browser = '0‘并用引号括起一个整数时...)。

你能推荐些什么吗?

谢谢,

Alessandro

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-07-11 05:47:14

我使用的是这个:

$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'] );

它很短,可以检测到大多数移动用户(或者更确切地说是智能手机)。iPad和安卓平板电脑不会被归类为“移动设备”,因为它们的屏幕尺寸更大。

如果您还想捕获平板电脑,您可以使用以下命令:

$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'] );
票数 31
EN

Stack Overflow用户

发布于 2011-07-10 01:36:07

您可以使用PHP的内置函数get_browser()。根据PHP手册,输出数组有platform字段,你可以用它来检测移动浏览器。

还有一个Mobiforge的lightweight mobile device detection代码。

票数 0
EN

Stack Overflow用户

发布于 2011-07-11 05:21:49

如果您不需要高级功能检测,您可以使用此resource。我认为新的WURFL apis是AGPL,所以它们是免费的。无论如何,你可以使用旧版本,不是吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6636306

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档