本文整理汇总了PHP中UserAgentUtils::firstSlash方法的典型用法代码示例。如果您正苦于以下问题:PHP UserAgentUtils::firstSlash方法的具体用法?PHP UserAgentUtils::firstSlash怎么用?PHP UserAgentUtils::firstSlash使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类UserAgentUtils
的用法示例。
在下文中一共展示了UserAgentUtils::firstSlash方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: applyConclusiveMatch
public function applyConclusiveMatch($ua)
{
$matches = array();
if (preg_match('/^Mozilla\\/4\\.0 \\(compatible; MSIE (\\d)\\.(\\d);/', $ua, $matches)) {
if (TeraWurflConfig::$SIMPLE_DESKTOP_ENGINE_ENABLE) {
return WurflConstants::$GENERIC_WEB_BROWSER;
}
switch ($matches[1]) {
// cases are intentionally out of sequnce for performance
case 7:
return 'msie_7';
break;
case 8:
return 'msie_8';
break;
case 6:
return 'msie_6';
break;
case 4:
return 'msie_4';
break;
case 5:
return $matches[2] == 5 ? 'msie_5_5' : 'msie_5';
break;
default:
return 'msie';
break;
}
}
$ua = preg_replace('/( \\.NET CLR [\\d\\.]+;?| Media Center PC [\\d\\.]+;?| OfficeLive[a-zA-Z0-9\\.\\d]+;?| InfoPath[\\.\\d]+;?)/', '', $ua);
$tolerance = UserAgentUtils::firstSlash($ua);
$this->wurfl->toLog("Applying " . get_class($this) . " Conclusive Match: RIS with threshold {$tolerance}", LOG_INFO);
return $this->risMatch($ua, $tolerance);
}
示例2: applyConclusiveMatch
public function applyConclusiveMatch($ua)
{
$clean_ua = $ua;
if (self::contains($ua, "/SN") && !self::contains($ua, "XXXXXXXXXXXX")) {
//not using RegEx for the time being
$start_idx = strpos($ua, "/SN") + 3;
$sub_str = substr($ua, $start_idx);
$end_idx = strpos($sub_str, " ");
if ($end_idx !== false && $sub_str != "" && strlen($sub_str) > $end_idx) {
$num_digits = strlen($sub_str) - $end_idx;
$new_ua = substr($ua, 0, $start_idx);
for ($i = 0; $i < $end_idx; $i++) {
$new_ua .= "X";
}
$new_ua .= substr($ua, $end_idx);
$clean_ua = $new_ua;
}
}
$tolerance = UserAgentUtils::firstSlash($clean_ua);
$this->wurfl->toLog("Applying " . get_class($this) . " Conclusive Match: RIS with threshold {$tolerance}", LOG_INFO);
$match = $this->risMatch($clean_ua, $tolerance);
if ($match == WurflConstants::$GENERIC) {
$this->wurfl->toLog("Applying " . get_class($this) . " Conclusive Match: LD", LOG_INFO);
return $this->ldMatch($ua);
}
return $match;
}
示例3: applyConclusiveMatch
public function applyConclusiveMatch($ua)
{
if (self::startsWith($ua, "BlackBerry;")) {
$tolerance = UserAgentUtils::ordinalIndexOf($ua, ';', 3);
} else {
$tolerance = UserAgentUtils::firstSlash($ua);
}
$this->wurfl->toLog("Applying " . get_class($this) . " Conclusive Match: RIS with threshold {$tolerance}", LOG_INFO);
return $this->risMatch($ua, $tolerance);
}
示例4: applyConclusiveMatch
public function applyConclusiveMatch($ua)
{
if (self::startsWith($ua, 'KDDI/')) {
$tolerance = UserAgentUtils::secondSlash($ua);
} else {
$tolerance = UserAgentUtils::firstSlash($ua);
}
$this->wurfl->toLog("Applying " . get_class($this) . " Conclusive Match: RIS with threshold {$tolerance}", LOG_INFO);
return $this->risMatch($ua, $tolerance);
}
示例5: applyConclusiveMatch
public function applyConclusiveMatch($ua)
{
if (self::contains($ua, "MobilePhone")) {
$tolerance = UserAgentUtils::indexOfOrLength($ua, '/', strpos($ua, "MobilePhone"));
} else {
$tolerance = UserAgentUtils::firstSlash($ua);
}
$this->wurfl->toLog("Applying " . get_class($this) . " Conclusive Match: RIS with threshold {$tolerance}", LOG_INFO);
return $this->risMatch($ua, $tolerance);
}
示例6: applyConclusiveMatch
public function applyConclusiveMatch($ua)
{
// firstSlash() - 1 because some UAs have revisions that aren't getting detected properly:
// SonyEricssonW995a/R1FA Browser/NetFront/3.4 Profile/MIDP-2.1 Configuration/CLDC-1.1 JavaPlatform/JP-8.4.3
$tolerance = UserAgentUtils::firstSlash($ua) - 1;
$this->wurfl->toLog("Applying " . get_class($this) . " Conclusive Match: RIS with threshold {$tolerance}", LOG_INFO);
if (self::startsWith($ua, "SonyEricsson")) {
return $this->risMatch($ua, $tolerance);
}
$tolerance = UserAgentUtils::secondSlash($ua);
return $this->risMatch($ua, $tolerance);
}
示例7: applyConclusiveMatch
public function applyConclusiveMatch($ua)
{
if (self::startsWith($ua, array("SAMSUNG-", "SEC-", "SCH"))) {
$tolerance = UserAgentUtils::firstSlash($ua);
$this->wurfl->toLog("Applying " . get_class($this) . " Conclusive Match: RIS with threshold (first slash) {$tolerance}", LOG_INFO);
} elseif (self::startsWith($ua, "Samsung") || self::startsWith($ua, "SPH") || self::startsWith($ua, "SGH")) {
$tolerance = UserAgentUtils::firstSpace($ua);
$this->wurfl->toLog("Applying " . get_class($this) . " Conclusive Match: RIS with threshold (first space) {$tolerance}", LOG_INFO);
} else {
$tolerance = UserAgentUtils::secondSlash($ua);
$this->wurfl->toLog("Applying " . get_class($this) . " Conclusive Match: RIS with threshold (second slash) {$tolerance}", LOG_INFO);
}
return $this->risMatch($ua, $tolerance);
}
示例8: applyConclusiveMatch
public function applyConclusiveMatch($ua)
{
$this->match_type = "conclusive";
$tolerance = UserAgentUtils::firstSlash($ua);
if (self::startsWith($ua, "Mozilla")) {
$tolerance = 5;
$this->wurfl->toLog("Applying CatchAll Conclusive Match: LD {$tolerance}, UA:\n{$ua}", LOG_INFO);
$deviceID = $this->ldMatch($ua, $tolerance);
if ($deviceID != WurflConstants::$GENERIC) {
$this->match = true;
}
return $deviceID;
}
$this->wurfl->toLog("Applying " . get_class($this) . " Conclusive Match: RIS with threshold {$tolerance}", LOG_INFO);
$deviceID = $this->risMatch($ua, $tolerance);
if ($deviceID != WurflConstants::$GENERIC) {
$this->match = true;
}
return $deviceID;
}
示例9: recoveryMatch
public function recoveryMatch($ua)
{
// BlackBerry
$ua = preg_replace('/^BlackBerry (\\d+.*)$/', 'BlackBerry$1', $ua);
$this->wurfl->toLog("Applying " . get_class($this) . " recovery match ({$ua})", LOG_INFO);
if (self::startsWith($ua, "BlackBerry")) {
$position = UserAgentUtils::firstSlash($ua);
if ($position !== false && $position + 4 <= strlen($ua)) {
$version = substr($ua, $position + 1, $position + 4);
$this->wurfl->toLog("BlackBerry version substring is {$version}", LOG_INFO);
if (self::startsWith($version, "2.")) {
return "blackberry_generic_ver2";
}
if (self::startsWith($version, "3.2")) {
return "blackberry_generic_ver3_sub2";
}
if (self::startsWith($version, "3.3")) {
return "blackberry_generic_ver3_sub30";
}
if (self::startsWith($version, "3.5")) {
return "blackberry_generic_ver3_sub50";
}
if (self::startsWith($version, "3.6")) {
return "blackberry_generic_ver3_sub60";
}
if (self::startsWith($version, "3.7")) {
return "blackberry_generic_ver3_sub70";
}
if (self::startsWith($version, "4.")) {
return "blackberry_generic_ver4";
}
$this->wurfl->toLog("No version matched, User-Agent: {$ua} version: {$version}", LOG_INFO);
}
}
return WurflConstants::$GENERIC;
}
示例10: applyConclusiveMatch
public function applyConclusiveMatch($ua)
{
$tolerance = UserAgentUtils::firstSlash($ua);
$this->wurfl->toLog("Applying " . get_class($this) . " Conclusive Match: RIS with threshold {$tolerance}", LOG_INFO);
return $this->risMatch($ua, $tolerance);
}