【问题标题】:Mobile regexp user agent移动正则表达式用户代理
【发布时间】:2011-12-28 19:50:24
【问题描述】:

我必须检查我的移动用户代理脚本。

我有

if(preg_match('/lg|iphone|blackberry|opera/i', $_SERVER['HTTP_USER_AGENT'])) { ... }

我发现lg 必须是字符串的第一部分

例如:

lg-9000 ...
lg1000 ...
lg 2000 ...
lge4300 ...

基本上我想知道是否有可能找到字符串(来自我的正则表达式)是否可以从一开始就在用户代理中找到,而不是在字符串中的某个位置。

我不想更改我的正则表达式字符串

谢谢

【问题讨论】:

    标签: php regex mobile


    【解决方案1】:

    您可以使用元字符^ 来表示字符串的开始。你可以阅读更多关于它的信息here。以下模式仅匹配位于字符串开头的lg

    ^lg|iphone|blackberry|opera/
    

    你可以在这里看到一个简单的例子:http://regexr.com?2vjec

    【讨论】:

      【解决方案2】:

      我正在使用这个库来检测操作系统和浏览器信息 http://chrisschuld.com/projects/browser-php-detecting-a-users-browser-from-php/

      【讨论】:

      • 不起作用,我有Mozilla/4.0 (compatible; MSIE 7.0; Windows Phone OS 7.0; Trident/3.1; IEMobile/7.0) LG;LG-E900 ,它没有说这是一部手机,我说我的操作系统是不知道。还。它说 iPhone 4 而我的用户代理是 Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; en-us)
      猜你喜欢
      • 2015-07-29
      • 2012-06-05
      • 2014-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多