php – 解析手机用户代理字符串,好的解决方案或库?

要求:
通过从浏览器解析用户代理字符串来找出用户正在使用哪部电话.(在 PHP中)
例如.诺基亚1100,三星D900.

一个很好的图书馆,有足够的电话供应商和模型数据库吗?

我找到的一些解决方案,需要你的观点:

i)phonedetection:https://www.handsetdetection.com – 付费订阅

ii)WURFL – http://wurfl.sourceforge.net/

iii)自己的解决方案 – 我有一个小型的手机制造商和型号数据库,但我必须在我的代码添加用户代理字符串的定制检查,以匹配/模糊匹配数据库,因为用户代理字符串格式在制造商之间不一致.

更新:

我们创建了一个量身定制的解决方案,它是正则表达式的混合,可以将标准用户代理(如iOS,Android,BlackBerry和WURFL)作为其他手机(如symbian,j2me,bada等)的后备机制.

添加数据库/缓存(MysqL,memcached,mongodb等)之后WURFL工作得很好,它已经作为核心代码库中的设置存在.尽管你必须每隔几周用最新版本的WURFL手机xml数据库更新/同步wurfl信息以保持更新与新发布的手机的规格.

首先,我会说KISS(Keep It Simple,Stupid)这是一个广泛使用的表达式.我首先要仔细检查我的业务需求,看看我真正需要多少设备信息以及我将要用它做什么.也许您只需要查看客户端使用的渲染引擎?

其次,您应该考虑解析时间.如果您最终使用ie WURFL并在您的站点上解析该XML,则在检查设备信息时需要解析40万行XML.当然,您可以将XML放入本地索引数据库,但这也需要一些维护脚本来将更新后的XML中的数据与数据库同步.

第三个(但也许应该是第一个?)正在考虑解决方案的成本/收益.如果您在网站上赚钱,那么对合作伙伴承担一些责任可能是明智之举.像handsetdetection.com这样的托管服务似乎能够以不那么可怕的成本提供高流量.另一个好处是,他们负责维护自己的存储库,如果他们的服务不够好,可能会失去客户.理论上,OpenSource社区可以进行4个月的休假,并且在那段时间内不会维持洗礼(我真的不认为应该担心任何事情;-)

不知道你的确切需求,我会优先考虑这样:

>尽可能使用简单的解决方案,即Detect Mobile Browsers解决方案>像WURFL一样去OpenSource.我只是喜欢OpenSource解决方案:-)>如果您的业务需要保证稳定性和数据质量,您应该让专业人员处理它;-)

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...