RE: [PHP] preg_match

From: Date: Wed, 12 Jul 2000 14:46:44 +0000
Subject: RE: [PHP] preg_match
Groups: php.general 
Request: Send a blank email to php-general+get-6147@lists.php.net to get a copy of this message
OK, tried it with php4 and I get all sorts of errors now :( Attached is the script (which I obviously didn't make). I'm just looking for a suitable replacement for browscap.ini which doesn't give me proper results. -----Original Message----- From: Julie Meloni [mailto:julie@thickbook.com] Sent: Wednesday, July 12, 2000 10:30 AM To: Peter Benoit Cc: php-general@lists.php.net Subject: Re: [PHP] preg_match Peter Benoit wrote: > > Fatal error: Call to unsupported or undefined function preg_match() > > Anyone know why I would be getting this error? > > PHP3 on NT Your version doesn't have PCRE compiled in, or you don't have the PCRE dll loaded. Do either of those things or upgrade to PHP4, where it's all in a nice neat package already. +------------------------------------------------+ | Julie Meloni (jcm@i2ii.com) | | Tech. Director, i2i Interactive (www.i2ii.com) | | | | "PHP Essentials" & "PHP Fast & Easy" | | http://www.thickbook.com/ | +------------------------------------------------+

<?php /****************************************** ** Description : BrowserDetector ** File Name : browserDetector.php3 ** Author : epsilon7 for PHyX8 studios ** Author Email : epsilon7@asphyxia.com ** Created : Thursday, May 11, 2000 ** Last Modified : Thursday, May 11, 2000 ** Modified By : epsilon7 *' INFO: Returns Browser information based on HTTP_USER_AGENT Ported from The Webmonkey JavaScript Source ##BrowserDetector() ##Parses User-Agent string into useful info. ##Source: Webmonkey Code Library ##(http://www.hotwired.com/webmonkey/javascript/code_library/) ##Author: Rich Blaylock ##Author Email: blaylock@wired.com Usage: include("browserDetector.php3"); $bd = new BrowserDetector; $bd->DetectBrowser(); Variables: $bd->BROWSER // Netscape, MSIE, Opera $bd->PLATFORM // Win95, Unix, Windows 98, Mac, PPC, etc. $bd->VERSION // MajorVersion.MinorVersion $bd->MAJORVER // Major Version (before . in version string) $bd->MINORVER // Minor Version (after . in version string) '****************************************/ class BrowserDetector { var $UA = getenv("HTTP_USER_AGENT"); var $BROWSER = "Unknown"; var $PLATFORM = "Unknown"; var $VERSION = ""; var $MAJORVER = ""; var $MINORVER = ""; function DetectBrowser() { $preparens = ""; $parens = ""; $i = strpos($this->UA,"("); if ($i >= 0) { $preparens = trim(substr($this->UA,0,$i)); $parens = substr($this->UA,$i+1,strlen($this->UA)); $j = strpos($parens,")"); if($j>=0) { $parens = substr($parens,0,$j); } } else { $preparens = $this->UA; } $browVer = $preparens; $token = trim(strtok($parens,";")); while($token) { if($token=="compatible") { } elseif(preg_match("/MSIE/i","$token")) { $browVer = $token; } elseif(preg_match("/Opera/i","$token")) { $browVer = $token; } elseif(preg_match("/X11/i","$token") || preg_match("/SunOS/i","$token") || preg_match("/Linux/i","$token")) { $this->PLATFORM = "Unix"; } elseif(preg_match("/Win/i","$token")) { $this->PLATFORM = $token; } elseif(preg_match("/Mac/i","$token") || preg_match("/PPC/i","$token")) { $this->PLATFORM = $token; } $token = strtok(";"); } $msieIndex = strpos($browVer,"MSIE"); if($msieIndex >= 0) { $browVer = substr($browVer,$msieIndex,strlen($browVer)); } $leftover = ""; if(substr($browVer,0,strlen("Mozilla")) == "Mozilla") { $this->BROWSER = "Netscape"; $leftover=substr($browVer,strlen("Mozilla")+1,strlen($browVer)); } elseif(substr($browVer,0,strlen("Lynx")) == "Lynx") { $this->BROWSER = "Lynx"; $leftover=substr($browVer,strlen("Lynx")+1,strlen($browVer)); } elseif(substr($browVer,0,strlen("MSIE")) == "MSIE") { $this->BROWSER = "IE"; $leftover=substr($browVer,strlen("MSIE")+1,strlen($browVer)); } elseif(substr($browVer,0,strlen("Microsoft Internet Explorer")) == "Microsoft Internet Explorer") { $this->BROWSER = "IE"; $leftover=substr($browVer,strlen("Microsoft Internet Explorer")+1,strlen($browVer)); } elseif(substr($browVer,0,strlen("Opera")) == "Opera") { $this->BROWSER = "Opera"; $leftover=substr($browVer,strlen("Opera")+1,strlen($browVer)); } $leftover = trim($leftover); $i=strpos($leftover," "); if($i > 0) { $this->VERSION = substr($leftover,0,$i); } else { $this->VERSION = $leftover; } $j = strpos($this->VERSION,"."); if($j >= 0) { $this->MAJORVER = substr($this->VERSION,0,$j); $this->MINORVER = substr($this->VERSION,$j+1,strlen($this->VERSION)); } else { $this->MAJORVER = $this->VERSION; } } } /****************************************** ** Some Test Results Testing : Mozilla/4.73 [en] (Win98; U) Browser : Netscape Platform : Win98 Version : 4.73 Major Version : 4 Minor Version : 73 Testing : Opera/4.0 (Windows 98;US) Beta 3 [en] Browser : Opera Platform : Windows 98 Version : 4.0 Major Version : 4 Minor Version : 0 Testing : Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt) Browser : IE Platform : Windows 98 Version : 5.0 Major Version : 5 Minor Version : 0 '****************************************/ ?>
« previous php.general (#6147) next »