zoukankan      html  css  js  c++  java
  • 获取用户所属浏览器和设备

    function getBrowser($agent){
    	$known = array('baidubrowser','QQBrowser','Maxthon','UC','UCBrowser','UBrowser','MetaSr', 'TheWorld','360se','360browser','115Browser','LBBrowser','2345Explorer','2345chrome','SogouMobileBrowser','TaoBrowser','baiduboxapp','MiuiBrowser'
    			,'EUI Browser','CoolNovo','Edge','Firefox','Chrome','Safari','MSIE','Opera','Netscape', 'Konqueror', 'Gecko');
    	$browser = newStripos($agent,$known,true);
    	if ($browser == 'MetaSr'){
    		$browser = 'sougouBrowser';
    	}
    	return $browser ? $browser : 'other';
    }
    

      

    function newStripos($string,$arr,$returnValue = false){
    	if (empty($string)) return false;
    	foreach ((array)$arr as $v){
    		if (stripos($string,$v) !== false){
    
    			$return = $returnValue ? $v : true;
    			return $return;
    		}
    	}
    	return false;
    }
    

      

    function getDevice($agent){
    	//Mozilla/5.0 (Linux; Android 6.0; Le X620; Build/HEXCNFN5902606111S; wv) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.92 Mobile Safari/537.36 SogouMSE,SogouMobileBrowser/5.6.8
    	$device = '';
    	if (stripos($agent,'iphone')){
    		$device = 'iphone';
    	}elseif (stripos($agent,'ipad')){
    		$device = 'ipad';
    	}elseif(stripos($agent,'android')  !== false && preg_match('/;(.*);?s+Build/iU', $agent,$match)){
    		$info = explode(';', $match[1]);
    		$device = $info[count($info)-1];
    		print_r($info);
    	}  else {
    		$known = array( 'phone', 'mobile', 'wap', 'netfront', 'java', 'opera mobi', 'opera mini',
    			'ucweb', 'windows ce', 'symbian', 'series', 'webos', 'sony', 'blackberry', 'dopod', 'nokia', 'samsung',
    			'palmsource', 'xda', 'pieplus', 'meizu', 'midp', 'cldc', 'motorola', 'foma', 'docomo', 'up.browser',
    			'up.link', 'blazer', 'helio', 'hosin', 'huawei', 'novarra', 'coolpad', 'webos', 'techfaith', 'palmsource',
    			'alcatel', 'amoi', 'ktouch', 'nexian', 'ericsson', 'philips', 'sagem', 'wellcom', 'bunjalloo', 'maui', 'smartphone',
    			'iemobile', 'spice', 'bird', 'zte-', 'longcos', 'pantech', 'gionee', 'portalmmm', 'jig browser', 'hiptop',
    			'benq', 'haier', '^lct', '320x320', '240x320', '176x220', 'windows phone');
    		$device = newStripos($agent,$known,true);
    	}
    	return $device ? $device : 'other';
    	
    }
    

      

  • 相关阅读:
    python-logging配置
    python-装饰器
    python字符串操作
    python集合
    python-列表和元组
    Python 3开发网络爬虫(四): 登录
    python3中No module named 'commands'
    Python 爬虫 (三)
    零基础自学Python 3开发网络爬虫(二): 用到的数据结构简介以及爬虫Ver1.0 alpha
    零基础自学用Python 3开发网络爬虫(一)
  • 原文地址:https://www.cnblogs.com/zihai/p/7136347.html
Copyright © 2011-2022 走看看