Antwort

27

können Sie tun, um eine solche:

$browser = get_browser(); 

if($browser->browser == 'IE' && $browser->majorver == 6) { 
    echo "IE6"; 
} elseif($browser->browser == 'IE' && $browser->majorver == 7) { 
    echo "IE7"; 
} 

Ein kurzer Blick auf die offizielle get_browser() Dokumentation Ihre Frage der beantworteten würde. Lesen Sie immer zuerst die Dokumentation.

+0

Sie schlagen mich zu ihm! – micmoo

+0

Benötigen Sie == in Ihrem Vergleich zu 'IE'? –

+0

@Robert: Ja, ich habe den Tippfehler korrigiert. –

3

Unten ist ein vollständiges Beispiel aus here.

$browser = get_browser(); 

switch ($browser->browser) { 
    case "IE": 
     switch ($browser->majorver) { 
      case 7: 
       echo '<link href="ie7.css" rel="stylesheet" type="text/css" />'; 
       break; 
      case 6: 
      case 5: 
       echo '<link href="ie5plus.css" rel="stylesheet" type="text/css" />'; 
       break; 
      default: 
       echo '<link href="ieold.css" rel="stylesheet" type="text/css" />'; 
     } 

     break; 

    case "Firefox": 
    case "Mozilla": 
     echo '<link href="gecko.css" rel="stylesheet" type="text/css" />'; 
     break; 

    case "Netscape": 
     if ($browser->majorver < 5) { 
      echo '<link href="nsold.css" rel="stylesheet" type="text/css" />'; 
     } else { 
      echo '<link href="gecko.css" rel="stylesheet" type="text/css" />'; 
     } 
     break; 

    case "Safari": 
    case "Konqueror": 
     echo '<link href="gecko.css" rel="stylesheet" type="text/css" />'; 
     break; 

    case "Opera": 
     echo '<link href="opera.css" rel="stylesheet" type="text/css" />'; 
     break; 

    default: 
     echo '<link href="unknown.css" rel="stylesheet" type="text/css" />'; 
} 
2

Wenn Ihre Logik ist zu entscheiden, welche Sheets oder Skripte enthalten, ist es vielleicht wert, die HTML-Route der bedingten Kommentare gehen:

<!--[if IE 6]> 
According to the conditional comment this is Internet Explorer 6<br /> 
<![endif]--> 
<!--[if IE 7]> 
According to the conditional comment this is Internet Explorer 7<br /> 
<![endif]--> 

diese Weise können Sie rund um alle benutzerdefinierten Browser-Strings erhalten und dergleichen . Mehr Infos unter QuirksMode.

0

fand ich eine andere, wirklich einfache Lösung für ein bedingten PHP IE6, dass ich in der Lage war für meine eigenen Zwecke zu bearbeiten:

<?php 

// IE6 string from user_agent 
$ie6 = "MSIE 6.0"; 

// detect browser 
$browser = $_SERVER['HTTP_USER_AGENT']; 

// yank the version from the string 
$browser = substr("$browser", 25, 8); 

// if IE6 set the $alert 
if($browser == $ie6){ 
     // put your code here  
} 
?> 

Das vollständige Skript finden Sie hier:

http://www.thatgrafix.com/php_detect/

4

Ich habe gelesen, dass get_browser() ist eine relativ langsame Funktion, also war ich auf der Suche nach etwas schneller. Dieser Code prüft auf MSIE 7.0 und gibt "Otay!" Aus. Wenn wahr. Es ist im Grunde die gleiche Antwort wie der vorherige Post, nur prägnanter. Ziemlich einfach wenn Aussage:

<?php 
if(strpos($_SERVER['HTTP_USER_AGENT'],'MSIE 7.0')) 
    echo 'Otay!'; 
?>