---
title: "Browser check som inte funkar riktigt."
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/15920-browser-check-som-inte-funkar-riktigt"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "UrMe"
published: "2001-08-02T07:53:00.000Z"
updated: "2001-08-02T09:31:00.000Z"
replies: 2
views: 201
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/15920-browser-check-som-inte-funkar-riktigt"
---

# Browser check som inte funkar riktigt.

## #1 — UrMe, 2001-08-02T07:53Z

Hittade koden [HÄR](http://www.php.net/manual/en/function.get-browser.php).
Bland kommentarerna ganska långt ner.
Men det vill inte funka.. får inge felmeddelande eller nån utskrift alls.. nån som har nån lösning?

```
global $HTTP_USER_AGENT, $BName, $BVersion, $BPlatform; 
function detect_browser() 
{ 
global $HTTP_USER_AGENT, $BName, $BVersion, $BPlatform; 

// Browser 
if(eregi("(opera) ([0-9]{1,2}.[0-9]{1,3}){0,1}",$HTTP_USER_AGENT,$match) &#0124;&#0124; eregi("(opera/)([0-9]{1,2}.[0-9]{1,3}){0,1}",$HTTP_USER_AGENT,$match)) 
{ 
$BName = "Opera"; $BVersion=$match[2]; 
} 
elseif(eregi("(konqueror)/([0-9]{1,2}.[0-9]{1,3})",$HTTP_USER_AGENT,$match)) 
{ 
$BName = "Konqueror"; $BVersion=$match[2]; 
} 
elseif(eregi("(lynx)/([0-9]{1,2}.[0-9]{1,2}.[0-9]{1,2})",$HTTP_USER_AGENT,$match)) 
{ 
$BName = "Lynx "; $BVersion=$match[2]; 
} 
elseif(eregi("(links) \(([0-9]{1,2}.[0-9]{1,3})",$HTTP_USER_AGENT,$match)) 
{ 
$BName = "Links "; $BVersion=$match[2]; 
} 
elseif(eregi("(msie) ([0-9]{1,2}.[0-9]{1,3})",$HTTP_USER_AGENT,$match)) 
{ 
$BName = "MSIE "; $BVersion=$match[2]; 
} 
elseif(eregi("(netscape6)/(6.[0-9]{1,3})",$HTTP_USER_AGENT,$match)) 
{ 
$BName = "Netscape "; $BVersion=$match[2]; 
} 
elseif(eregi("mozilla/5",$HTTP_USER_AGENT)) 
{ 
$BName = "Netscape"; $BVersion="Unknown"; 
} 
elseif(eregi("(mozilla)/([0-9]{1,2}.[0-9]{1,3})",$HTTP_USER_AGENT,$match)) 
{ 
$BName = "Netscape "; $BVersion=$match[2]; 
} 
elseif(eregi("w3m",$HTTP_USER_AGENT)) 
{ 
$BName = "w3m"; $BVersion="Unknown"; 
} 
else{$BName = "Unknown"; $BVersion="Unknown";} 

// System 
if(eregi("linux",$HTTP_USER_AGENT)) 
{ 
$BPlatform = "Linux"; 
} 
elseif(eregi("win32",$HTTP_USER_AGENT)) 
{ 
$BPlatform = "Windows"; 
} 
elseif((eregi("(win)([0-9]{2})",$HTTP_USER_AGENT,$match)) &#0124;&#0124; (eregi("(windows) ([0-9]{2})",$HTTP_USER_AGENT,$match))) 
{ 
$BPlatform = "Windows $match[2]"; 
} 
elseif(eregi("(winnt)([0-9]{1,2}.[0-9]{1,2}){0,1}",$HTTP_USER_AGENT,$match)) 
{ 
$BPlatform = "Windows NT $match[2]"; 
} 
elseif(eregi("(windows nt)( ){0,1}([0-9]{1,2}.[0-9]{1,2}){0,1}",$HTTP_USER_AGENT,$match)) 
{ 
$BPlatform = "Windows NT $match[3]"; 
} 
elseif(eregi("mac",$HTTP_USER_AGENT)) 
{ 
$BPlatform = "Macintosh"; 
} 
elseif(eregi("(sunos) ([0-9]{1,2}.[0-9]{1,2}){0,1}",$HTTP_USER_AGENT,$match)) 
{ 
$BPlatform = "SunOS $match[2]"; 
} 
elseif(eregi("(beos) r([0-9]{1,2}.[0-9]{1,2}){0,1}",$HTTP_USER_AGENT,$match)) 
{ 
$BPlatform = "BeOS $match[2]"; 
} 
elseif(eregi("freebsd",$HTTP_USER_AGENT)) 
{ 
$BPlatform = "FreeBSD"; 
} 
elseif(eregi("openbsd",$HTTP_USER_AGENT)) 
{ 
$BPlatform = "OpenBSD"; 
} 
elseif(eregi("irix",$HTTP_USER_AGENT)) 
{ 
$BPlatform = "IRIX"; 
} 
elseif(eregi("os/2",$HTTP_USER_AGENT)) 
{ 
$BPlatform = "OS/2"; 
} 
elseif(eregi("plan9",$HTTP_USER_AGENT)) 
{ 
$BPlatform = "Plan9"; 
} 
elseif(eregi("unix",$HTTP_USER_AGENT) &#0124;&#0124; eregi("hp-ux",$HTTP_USER_AGENT)) 
{ 
$BPlatform = "Unix"; 
} 
elseif(eregi("osf",$HTTP_USER_AGENT)) 
{ 
$BPlatform = "OSF"; 
} 
else{$BPlatform = "Unknown";} 

 
echo $HTTP_USER_AGENT; 
echo $BName; 
echo $BVersion; 
echo $BPlatform; 
 
}
```

Permalänk: https://www.webforum.nu/p/15920

## #2 — UrMe, 2001-08-02T08:21Z

Jag löste det! Tack ändå!

Permalänk: https://www.webforum.nu/p/319965

## #3 — ZreoX, 2001-08-02T09:31Z

En rekomendation är att INTE använda reuljära uttryck utan istället använda ex strstr så länge det går.
Reguljära uttryck startar ett kärnkraftverk på servern och för enklare uttryck behövs det ofta inte.

Ex:

function isWindows()
{
  global $HTTP_USER_AGENT;

  if(strstr($HTTP_USER_AGENT, "Windows"))
  {
    return true;
  }
  else // ej windows
  {
    return false;
  }
}

Permalänk: https://www.webforum.nu/p/319966

---

Tråden på webben: https://www.webforum.nu/amne/php/15920-browser-check-som-inte-funkar-riktigt
