Browserweiche mit PHP

paraphan

Erfahrenes Mitglied
Hallo,
ich würde gerne eine Browserweiche mittels php machen. Ich habe ein Codeschnipsel aus dem Web kopiert, das scheint aber nicht so richtig zu funktionieren:
Ich kann die Ausgabevariable $brows nicht mit echo($brows) anzeigen lassen...

Hier der Code:

PHP:
<?
function getagent()
{
  if (strstr($_SERVER['HTTP_USER_AGENT'],'Opera'))    {    
  
     $brows=ereg_replace(".+\(.+\) (Opera |v){0,1}([0-9,\.]+)[^0-9]*","Opera \\2",$_SERVER['HTTP_USER_AGENT']);
     if(ereg('^Opera/.*',$_SERVER['HTTP_USER_AGENT'])){
     $brows=ereg_replace("Opera/([0-9,\.]+).*","Opera \\1",$_SERVER['HTTP_USER_AGENT']);    }}
  elseif (strstr($_SERVER['HTTP_USER_AGENT'],'MSIE'))
     $brows=ereg_replace(".+\(.+MSIE ([0-9,\.]+).+","Internet Explorer \\1",$_SERVER['HTTP_USER_AGENT']);
  elseif (strstr($_SERVER['HTTP_USER_AGENT'],'Firefox'))
     $brows=ereg_replace(".+\(.+rv:.+\).+Firefox/(.*)","Firefox \\1",$_SERVER['HTTP_USER_AGENT']);
  elseif (strstr($_SERVER['HTTP_USER_AGENT'],'Mozilla'))
     $brows=ereg_replace(".+\(.+rv:([0-9,\.]+).+","Mozilla \\1",$_SERVER['HTTP_USER_AGENT']);
  else
     $brows=$_SERVER['HTTP_USER_AGENT'];
  return $brows;
} 

echo ($brows);

?>

Was ich schlussendlich möchte ist dann eine If-Abfrage mit der ich für den Internet Explorer etwas anderes anzeigen lasse als für die restlichen Browser.
Kann mir jemand helfen?
 
Danke für die Hinweise. Ich habe jetzt mal den anderen Code versucht, bekomme aber auch beim Internet Explorer immer die Meldung "Nicht Internet Explorer"...
Kann das vielleicht mal jemand testen?

PHP:
<?php

if( eregi("(msie) ([0-9]{1,2}.[0-9]{1,3})",$HTTP_USER_AGENT,$regs) ) 
{ 
    $browser = "MSIE $regs[2]"; 
echo $browser;

}
else{
echo("Nicht Internet Explorer");
}

?>
 
Probier es mal damit :

PHP:
<?php
// Internet Explorer Nutzer
if(eregi("Msie", $HTTP_USER_AGENT)) {
// Hier kann der Rest ihrer Webseite stehen oder includen Sie eine Seite.
echo("<pre>ie Rules</pre>");
}
// FireFox Nutzer
elseif(eregi("Firefox", $HTTP_USER_AGENT)) {
// Hier kann der Rest ihrer Webseite stehen oder includen Sie eine Seite.
echo("<pre>FireFox Rules</pre>");
}
?>

Vielleicht hilft es dir .
 
Fuer meine Website setze ich dieses kleine Script ein um zu entscheiden welches Stylesheet eingebunden werden soll.
Da ich dort nur fuer den IE eine Extrawurst braten muss wird auch nur gecheckt ob IE oder eben nicht.
PHP:
<?php
if ((strpos($_SERVER['HTTP_USER_AGENT'],'MSIE')!==false) && (!strpos($_SERVER['HTTP_USER_AGENT'],'Opera')===false))
	{
		$css='layout-ie';
	}
else
	{
		$css='layout';
	}
?>

Opera steht dort uebrigens mit drin da dieser sich, wenn ich mich recht erinnere, als IE ausgeben kann, dabei aber trotzdem noch seine wahre Identitaet preisgibt.
 
Zurück