Re: parsing useragent string without get_browser

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The problem is I haven't seen any examples of this in php.

The best I have come up with is the following. I know the code is pants, but it works. I am sure people out there can think of a better way of doing it-

		$ua = $logInfo[useragent];
if ( ereg("Firefox/[0-9]{1,2}[\.]{0,1}[0-9]{0,4}[\.]{0,1}[0-9]{0,4}", $ua, $array)) {$browser = $array[0];} if ( ereg("MSIE [0-9]{1,2}[\.]{0,1}[0-9]{0,4}[\.]{0,1}[0-9]{0,4}", $ua, $array)) {$browser = $array[0];} if ( ereg("Bloglines/[0-9]{1,2}[\.]{0,1}[0-9]{0,4}[\.]{0,1}[0-9]{0,4}", $ua, $array)) {$browser = $array[0];} if ( ereg("Amfibibot/[0-9]{1,2}[\.]{0,1}[0-9]{0,4}[\.]{0,1}[0-9]{0,4}", $ua, $array)) {$browser = $array[0];} if ( ereg("msnbot/[0-9]{1,2}[\.]{0,1}[0-9]{0,4}[\.]{0,1}[0-9]{0,4}", $ua, $array)) {$browser = $array[0];} if ( ereg("Googlebot/[0-9]{1,2}[\.]{0,1}[0-9]{0,4}[\.]{0,1}[0-9]{0,4}", $ua, $array)) {$browser = $array[0];} if ( ereg("Safari/[0-9]{1,2}[\.]{0,1}[0-9]{0,4}[\.]{0,1}[0-9]{0,4}", $ua, $array)) {$browser = $array[0];} if ( ereg("Konqueror/[0-9]{1,2}[\.]{0,1}[0-9]{0,4}[\.]{0,1}[0-9]{0,4}", $ua, $array)) {$browser = $array[0];} if ( ereg("Netscape/[0-9]{1,2}[\.]{0,1}[0-9]{0,4}[\.]{0,1}[0-9]{0,4}", $ua, $array)) {$browser = $array[0];} if ( ereg("Thunderbird/[0-9]{1,2}[\.]{0,1}[0-9]{0,4}[\.]{0,1}[0-9]{0,4}", $ua, $array)) {$browser = $array[0];} if (strpos($ua, "Web RSS Reader")!== FALSE) {$browser = "Web RSS Reader";}
		if		(strpos($ua, "BDFetch")!== FALSE) {$browser = "BDFetch";}
if (strpos($ua, "www.almaden.ibm.com/cs/crawler")!== FALSE) {$browser = "Web Fountain";}
		if		(strpos($ua, "sohu-search")!== FALSE) {$browser = "Sohu Search";}
		if		(strpos($ua, "Yahoo! Slurp")!== FALSE) {$browser = "Yahoo! Slurp";}
		if		(strpos($ua, "Windows NT 5.1")) {$platform = "Windows XP";}
		elseif	(strpos($ua, "Windows NT 5.0")) {$platform = "Windows 2000";}
elseif (strpos($ua, "Windows 98") OR strpos($ua, "Win98")) {$platform = "Windows 98";} elseif (strpos($ua, "Windows 95") OR strpos($ua, "Win95")) {$platform = "Windows 95";} elseif (strpos($ua, "Win16") OR strpos($ua, "Windows 3.1")) {$platform = "Windows 3.1";}
		elseif	(strpos($ua, "Mac OS X")) {$platform = "Mac OSX";}
		elseif	(strpos($ua, "Linux")) {$platform = "Linux";}

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux