當前位置: 首頁>>代碼示例>>PHP>>正文


PHP UserAgentUtils::isMobileBrowser方法代碼示例

本文整理匯總了PHP中UserAgentUtils::isMobileBrowser方法的典型用法代碼示例。如果您正苦於以下問題:PHP UserAgentUtils::isMobileBrowser方法的具體用法?PHP UserAgentUtils::isMobileBrowser怎麽用?PHP UserAgentUtils::isMobileBrowser使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在UserAgentUtils的用法示例。


在下文中一共展示了UserAgentUtils::isMobileBrowser方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: isDesktopBrowser

 /**
  * Is the given user agent very likely to be a desktop browser
  * @param String User agent
  * @return Bool
  */
 public static function isDesktopBrowser($ua)
 {
     if (UserAgentUtils::isMobileBrowser($ua)) {
         return false;
     }
     if (self::contains($ua, array('HTC', 'PPC', 'Nintendo'))) {
         return false;
     }
     // Firefox
     if (self::contains($ua, "Firefox") && !self::contains($ua, 'Tablet')) {
         return true;
     }
     if (UserAgentUtils::isDesktopBrowser($ua)) {
         return true;
     }
     if (self::startsWith($ua, 'Opera/')) {
         return true;
     }
     if (self::regexContains($ua, array('/^Mozilla\\/5\\.0 \\(compatible; MSIE 9\\.0; Windows NT \\d\\.\\d/', '/^Mozilla\\/4\\.0 \\(compatible; MSIE \\d\\.\\d; Windows NT \\d\\.\\d/'))) {
         return true;
     }
     if (self::contains($ua, array("Chrome", "yahoo.com", "google.com", "Comcast"))) {
         return true;
     }
     return false;
 }
開發者ID:vallejos,項目名稱:samples,代碼行數:31,代碼來源:SimpleDesktopUserAgentMatcher.php

示例2: createUserAgentMatcher

 /**
  * Determines which UserAgentMatcher is the best fit for the incoming user agent and returns it
  * @param TeraWurfl $wurfl
  * @param String $userAgent
  * @return UserAgentMatcher
  */
 public static function createUserAgentMatcher(TeraWurfl $wurfl, $userAgent)
 {
     // $isMobile means it IS MOBILE, $isDesktop means it IS DESKTOP
     // $isMobile does NOT mean it IS DESKTOP and vica-versa
     $isMobile = UserAgentUtils::isMobileBrowser($userAgent);
     $isDesktop = UserAgentUtils::isDesktopBrowser($userAgent);
     $userAgent_lcase = strtolower($userAgent);
     // Process exceptions
     if (TeraWurflConfig::$SIMPLE_DESKTOP_ENGINE_ENABLE && $userAgent == WurflConstants::$SIMPLE_DESKTOP_UA) {
         // SimpleDesktopUserAgentMatcher is included via require_once realpath(dirname(__FILE__).'/in TeraWurfl.php
         return new SimpleDesktopUserAgentMatcher($wurfl);
     }
     // Process MOBILE user agents
     if (!$isDesktop) {
         // High workload UAMs go first
         // Nokia
         if (UserAgentMatcher::contains($userAgent_lcase, 'nokia')) {
             require_once realpath(dirname(__FILE__) . '/UserAgentMatchers/NokiaUserAgentMatcher.php');
             return new NokiaUserAgentMatcher($wurfl);
         }
         // Samsung
         if (UserAgentMatcher::contains($userAgent, array("Samsung/SGH", "SAMSUNG-SGH")) || UserAgentMatcher::startsWith($userAgent, array("SEC-", "Samsung", "SAMSUNG", "SPH", "SGH", "SCH")) || stripos($userAgent, 'samsung') !== false) {
             require_once realpath(dirname(__FILE__) . '/UserAgentMatchers/SamsungUserAgentMatcher.php');
             return new SamsungUserAgentMatcher($wurfl);
         }
         // Blackberry
         if (stripos($userAgent, "blackberry") !== false) {
             require_once realpath(dirname(__FILE__) . '/UserAgentMatchers/BlackBerryUserAgentMatcher.php');
             return new BlackBerryUserAgentMatcher($wurfl);
         }
         // SonyEricsson
         if (UserAgentMatcher::contains($userAgent, 'Sony')) {
             require_once realpath(dirname(__FILE__) . '/UserAgentMatchers/SonyEricssonUserAgentMatcher.php');
             return new SonyEricssonUserAgentMatcher($wurfl);
         }
         // Motorola
         if (UserAgentMatcher::startsWith($userAgent, array('Mot-', 'MOT-', 'MOTO', 'moto')) || UserAgentMatcher::contains($userAgent, 'Motorola')) {
             require_once realpath(dirname(__FILE__) . '/UserAgentMatchers/MotorolaUserAgentMatcher.php');
             return new MotorolaUserAgentMatcher($wurfl);
         }
         // Continue processing UAMs in alphabetical order
         // Alcatel
         if (UserAgentMatcher::startsWith($userAgent_lcase, "alcatel")) {
             require_once realpath(dirname(__FILE__) . '/UserAgentMatchers/AlcatelUserAgentMatcher.php');
             return new AlcatelUserAgentMatcher($wurfl);
         }
         // Apple
         if (UserAgentMatcher::contains($userAgent, array("iPhone", "iPod", "iPad", "(iphone"))) {
             require_once realpath(dirname(__FILE__) . '/UserAgentMatchers/AppleUserAgentMatcher.php');
             return new AppleUserAgentMatcher($wurfl);
         }
         // BenQ
         if (UserAgentMatcher::startsWith($userAgent_lcase, "benq")) {
             require_once realpath(dirname(__FILE__) . '/UserAgentMatchers/BenQUserAgentMatcher.php');
             return new BenQUserAgentMatcher($wurfl);
         }
         // DoCoMo
         if (UserAgentMatcher::startsWith($userAgent, "DoCoMo")) {
             require_once realpath(dirname(__FILE__) . '/UserAgentMatchers/DoCoMoUserAgentMatcher.php');
             return new DoCoMoUserAgentMatcher($wurfl);
         }
         // Grundig
         if (UserAgentMatcher::startsWith($userAgent_lcase, "grundig")) {
             require_once realpath(dirname(__FILE__) . '/UserAgentMatchers/GrundigUserAgentMatcher.php');
             return new GrundigUserAgentMatcher($wurfl);
         }
         // HTC
         if (UserAgentMatcher::contains($userAgent, array("HTC", "XV6875"))) {
             require_once realpath(dirname(__FILE__) . '/UserAgentMatchers/HTCUserAgentMatcher.php');
             return new HTCUserAgentMatcher($wurfl);
         }
         // KDDI
         if (UserAgentMatcher::contains($userAgent, "KDDI-")) {
             require_once realpath(dirname(__FILE__) . '/UserAgentMatchers/KddiUserAgentMatcher.php');
             return new KddiUserAgentMatcher($wurfl);
         }
         // Kyocera
         if (UserAgentMatcher::startsWith($userAgent, array("kyocera", "QC-", "KWC-"))) {
             require_once realpath(dirname(__FILE__) . '/UserAgentMatchers/KyoceraUserAgentMatcher.php');
             return new KyoceraUserAgentMatcher($wurfl);
         }
         // LG
         if (UserAgentMatcher::startsWith($userAgent_lcase, "lg")) {
             require_once realpath(dirname(__FILE__) . '/UserAgentMatchers/LGUserAgentMatcher.php');
             return new LGUserAgentMatcher($wurfl);
         }
         // Mitsubishi
         if (UserAgentMatcher::startsWith($userAgent, "Mitsu")) {
             require_once realpath(dirname(__FILE__) . '/UserAgentMatchers/MitsubishiUserAgentMatcher.php');
             return new MitsubishiUserAgentMatcher($wurfl);
         }
         // NEC
         if (UserAgentMatcher::startsWith($userAgent, array("NEC-", "KGT"))) {
             require_once realpath(dirname(__FILE__) . '/UserAgentMatchers/NecUserAgentMatcher.php');
//.........這裏部分代碼省略.........
開發者ID:anubhaBhargava,項目名稱:OpenRecommender,代碼行數:101,代碼來源:UserAgentFactory.php

示例3: getDeviceIDFromUALoose

 /**
  * Returns the matching WURFL ID for a given User Agent
  * @return String WURFL ID
  */
 protected function getDeviceIDFromUALoose()
 {
     $this->matcherHistory = array();
     // Return generic UA if userAgent is empty
     if (strlen($this->userAgent) == 0) {
         $this->matchData['matcher'] = "none";
         $this->matchData['match_type'] = "none";
         $this->matchData['match'] = false;
         $this->setMatcherHistory();
         return WurflConstants::$GENERIC;
     }
     // Check for exact match
     if (TeraWurflConfig::$SIMPLE_DESKTOP_ENGINE_ENABLE && $this->userAgent == WurflConstants::$SIMPLE_DESKTOP_UA) {
         // SimpleDesktop UA Matching avoids querying the database here
         $deviceID = WurflConstants::$GENERIC_WEB_BROWSER;
     } else {
         $deviceID = $this->db->getDeviceFromUA($this->userAgent);
     }
     $this->matcherHistory[] = $this->userAgentMatcher->matcherName() . "(exact)";
     if ($deviceID !== false) {
         $this->matchData['matcher'] = $this->userAgentMatcher->matcherName();
         $this->matchData['match_type'] = "exact";
         $this->matchData['match'] = true;
         $this->setMatcherHistory();
         return $deviceID;
     }
     // Check for a conclusive match
     $deviceID = $this->userAgentMatcher->applyConclusiveMatch($this->userAgent);
     $this->matcherHistory[] = $this->userAgentMatcher->matcherName() . "(conclusive)";
     if ($deviceID != WurflConstants::$GENERIC) {
         $this->matchData['matcher'] = $this->userAgentMatcher->matcherName();
         $this->matchData['match_type'] = "conclusive";
         $this->matchData['match'] = true;
         $this->setMatcherHistory();
         return $deviceID;
     }
     // Check for Vodafone magic
     if ($this->userAgentMatcher->matcherName() != "VodafoneUserAgentMatcher" && UserAgentMatcher::contains($this->userAgent, "Vodafone")) {
         @(require_once realpath(dirname(__FILE__) . '/UserAgentMatchers/VodafoneUserAgentMatcher.php'));
         $vodafoneUserAgentMatcher = new VodafoneUserAgentMatcher($this);
         $this->matcherHistory[] = $vodafoneUserAgentMatcher->matcherName() . "(conclusive)";
         $deviceID = $vodafoneUserAgentMatcher->applyConclusiveMatch($this->userAgent);
         if ($deviceID != WurflConstants::$GENERIC) {
             $this->matchData['matcher'] = $vodafoneUserAgentMatcher->matcherName();
             $this->matchData['match_type'] = "conclusive";
             $this->matchData['match'] = true;
             $this->setMatcherHistory();
             return $deviceID;
         }
     }
     // Check for recovery match
     $deviceID = $this->userAgentMatcher->applyRecoveryMatch($this->userAgent);
     $this->matcherHistory[] = $this->userAgentMatcher->matcherName() . "(recovery)";
     if ($deviceID != WurflConstants::$GENERIC) {
         $this->matchData['matcher'] = $this->userAgentMatcher->matcherName();
         $this->matchData['match_type'] = "recovery";
         $this->matchData['match'] = false;
         $this->setMatcherHistory();
         return $deviceID;
     }
     // Check CatchAll if it's not already in use
     if ($this->userAgentMatcher->matcherName() != "CatchAllUserAgentMatcher") {
         $catchAllUserAgentMatcher = new CatchAllUserAgentMatcher($this);
         $this->matcherHistory[] = $catchAllUserAgentMatcher->matcherName() . "(recovery)";
         $deviceID = $catchAllUserAgentMatcher->applyRecoveryMatch($this->userAgent);
         if ($deviceID != WurflConstants::$GENERIC) {
             // The CatchAll matcher is intelligent enough to determine the match properties
             $this->matchData['matcher'] = $catchAllUserAgentMatcher->matcher;
             $this->matchData['match_type'] = $catchAllUserAgentMatcher->match_type;
             $this->matchData['match'] = $catchAllUserAgentMatcher->match;
             $this->setMatcherHistory();
             return $deviceID;
         }
     }
     // A matching device still hasn't been found - check HTTP ACCEPT headers
     if (strlen($this->httpAccept) > 0) {
         $this->matcherHistory[] = "http_accept";
         if (UserAgentMatcher::contains($this->httpAccept, array(WurflConstants::$ACCEPT_HEADER_VND_WAP_XHTML_XML, WurflConstants::$ACCEPT_HEADER_XHTML_XML, WurflConstants::$ACCEPT_HEADER_TEXT_HTML))) {
             $this->matchData['matcher'] = "http_accept";
             $this->matchData['match_type'] = "recovery";
             // This isn't really a match, it's a suggestion
             $this->matchData['match'] = false;
             $this->setMatcherHistory();
             return WurflConstants::$GENERIC_XHTML;
         }
     }
     $this->matchData['matcher'] = "none";
     $this->matchData['match_type'] = "none";
     $this->matchData['match'] = false;
     $this->setMatcherHistory();
     if (UserAgentUtils::isMobileBrowser($this->userAgent)) {
         return WurflConstants::$GENERIC_XHTML;
     }
     return WurflConstants::$GENERIC_WEB_BROWSER;
 }
開發者ID:vuong93st,項目名稱:w-game,代碼行數:99,代碼來源:TeraWurfl.php


注:本文中的UserAgentUtils::isMobileBrowser方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。