RE: [PHP] preg_match
| From: | Peter Benoit | 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 '****************************************/ ?>
<?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 '****************************************/ ?>