Basit Tarayıcı Bilgileri Tanıma Sınıfı

<?php
class tarayici{
	var $sonuc;
	function tarayici($bilgi){
		$sistem="Windows|iPad|iPhone|Macintosh|Android|BlackBerry";
		$tarayici="Firefox|Chrome"; 
		$tarayici_v="Safari|Mobile";
		$motor="Gecko|Trident|Webkit|Presto";
		$duzenli="/((Mozilla)\/[\d\.]+|(Opera)\/[\d\.]+)\s\(.*?((MSIE)\s([\d\.]+).*?(Windows)|({$sistem})).*?\s.*?({$motor})[\/\s]+[\d\.]+(\;\srv\:([\d\.]+)|.*?).*?(Version[\/\s]([\d\.]+)(.*?({$tarayici_v})|$)|(({$tarayici})[\/\s]+([\d\.]+))|$).*/i";
		$degistir='$7$8|$2$3|$9|${17}${15}$5$3|${18}${13}$6${11}';
		$bilgi_dizi=explode("|",preg_replace($duzenli, $degistir, $bilgi, PREG_PATTERN_ORDER));
		if(count($bilgi_dizi)>1){
			$sonuc['tarayici'] =$bilgi_dizi[3];
			if (preg_match("/^[\d]+\.[\d]+(?:\.[\d]{0,2}$)?/",$bilgi_dizi[4],$eslesme)){
				$sonuc['versiyon']=$eslesme[0];     
			}else{
				$sonuc['versiyon']=$bilgi_dizi[4];
			}
			$sonuc['sistem']=$bilgi_dizi[0];
			$sonuc['insa']=$bilgi_dizi[2];
			$sonuc['tip']=$bilgi_dizi[1];
		}else{
			return false;
		}
		switch(strtolower($sonuc['tarayici'])){
			case "msie":
			case "trident":
				$sonuc['tarayici']="Internet Explorer";
				break;
			case "": // IE 11 is a steamy turd (thanks Microsoft...)
				if (strtolower($sonuc['insa']) == "trident"){
					$sonuc['tarayici']="Internet Explorer";
				}
			break;
		}
		switch(strtolower($sonuc['sistem'])){
			case "android":
			case "blackberry":
				if ($sonuc['tarayici'] =="Safari" || $sonuc['tarayici'] == "Mobile" || $sonuc['tarayici'] == ""){
						$sonuc['tarayici']="{$sonuc['sistem']} mobile";
				}
				break;
			}
			$this->sonuc=$sonuc;
	}
}
$t=new tarayici($_SERVER['HTTP_USER_AGENT']);
print_r($t->sonuc);
?>

Çıktısı

Array
(
    [tarayici] => Chrome
    [versiyon] => 66.0
    [sistem] => Windows
    [insa] => WebKit
    [tip] => Mozilla
)