我希望在PHP中进行一些设备检测,我正在研究一些选项。现在看起来最好的是WURFL http://wurfl.sourceforge.net/。但由于它的非开源许可,我对它非常谨慎。我也想知道它是否相关,因为文档网站看起来有点过时了。
其他选项如WURFL包括 http://deviceatlas.com/和http://51degrees.mobi/但这些都不接近开源。
然后有像PHP这样的解决方案 http://detectmobilebrowsers.mobi,http://code.google.com/p/php-mobile-detect/和http://detectmobilebrowsers.com/,但这些都使用某种看起来很难看的正则表达式。
对我来说,理想的解决方案是开源XML文件或数据库,我可以在本地存储,并且可以根据需要进行更新。
我在做梦吗?您更喜欢哪种解决方案来检测移动用户?
答案 0 :(得分:4)
很抱歉重新发布死信,但有一个开源替代方案 - OpenDDR - 但我找不到它的PHP库,所以你需要编写自己的解析和搜索例程。
答案 1 :(得分:4)
任何不使用ua-parser项目的原因?
PHP客户端在这里:https://github.com/tobie/ua-parser/tree/master/php
答案 2 :(得分:2)
我使用基于http://detectmobilebrowsers.com/工作的脚本。它归结为一个正则表达式,几乎所有语言都支持它,而不仅仅是PHP。正如正则表达式一样,它甚至都不是非常丑陋:主要的只有几行,并且在大多数语言/框架中都会非常快速地解析。作为一个正则表达式,它是完全透明的,并且不需要您安装一些librarly,DLL或基于DB /文件的存储库。
作者Chad Smith使用WURFL数据库编译一个精简的极简主义Regex来检测仅移动浏览器。平板电脑被排除在外,假设它们通常适用于页面的桌面版本。他似乎每年更新一次,或者至少每当有一个新的主流移动浏览器出现时(这种情况并不常见)。
答案 3 :(得分:2)
向Chad Smith的正则表达式添加平板电脑浏览器检测很容易,而且它似乎运行良好。请参阅about部分:
答案 4 :(得分:1)
我使用的MobileESP并不像WURFL那样先进,但是可以满足我的需求。 在MobileESP中没有可以升级的单独数据库,您必须升级整个库。
答案 5 :(得分:0)
如果您只需要设备分类 - 例如移动设备,桌面设备或平板电脑 - 然后Categorizr可能是最佳选择。它采用移动优先方法,因为与大量移动和其他浏览器相比,更容易识别小而且相对稳定的桌面浏览器。