typecho 有关用户浏览器和系统信息的问题--未解决

不知道是更新最新版 typecho 之后的问题还是之前就有了;就我发现的问题是:typecho在用户评论之后抓取的用户浏览器信息是有多个浏览器的,如图:
1.png
从图中可以看到两个字段:textagent ;这都是我在不同浏览器下评论的相关内容;

我们就拿UC浏览器来说,在 agent 字段中:后面有三个浏览器信息:Chrome/55.0.2883.87 UBrowser/6.2.3964.2 Safari/537.36 ,但是这是为什么呢?

经过搜索没有发现任何有实质性的说明;只知道like Gecko好像是让此浏览器去模仿哪一个浏览器(前面的一串Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML我就不多解释了,里面包含了系统信息和渲染引擎);

那么问题来了,因为数据库中的user_agent有这么多的浏览器信息,再加上获取的时候用的是preg_match加上正则匹配(preg_match大家都知道返回的结果是布尔型),这样就导致了判断的根本就不是我想要的结果;附图:
3.png
这样判断出来的都是谷歌浏览器,除了火狐;
2.png
因为火狐没有like Gecko;

期间,我也测试过字符串截取加匹配,但是效果不理想,而且万一哪一天浏览器的user_agent改了那又得改一次,多麻烦;所以说这个问题一直没有解决;官方文档也没有任何说明;只是知道这个字段是vachar(200),其余的就没了;用typecho的小伙伴也可以看看自己的数据库是不是这样的,是*_comments这个数据库;*是你自己的前缀。。

哪位小伙伴有什么好的解决方法欢迎下方评论浏览或者发邮件,感谢!!

已有 3 条评论
  1. 把谷歌的那个if判断挪到最下面,这样就优先判断uc什么了 icon_mrgreen.gif

    1. 不行,有的浏览器被typecho抓取过来后有三个浏览器标识 icon_confused.gif

添加新评论

icon_mrgreen.gificon_neutral.gificon_twisted.gificon_arrow.gificon_eek.gificon_smile.gificon_confused.gificon_cool.gificon_evil.gificon_biggrin.gificon_idea.gificon_redface.gificon_razz.gificon_rolleyes.gificon_wink.gificon_cry.gificon_surprised.gificon_lol.gificon_mad.gificon_sad.gificon_exclaim.gificon_question.gif