PHP Browserweiche als Funktion
Leider gibt es heutzutage viele Browser mit unterschiedlichen Eigenschaften. Sie interpretieren die HTML und CSS-Tags sehr verschieden und können daher Anzeigefehler erzeugen. Abhilfe kann eine Browserweiche in PHP schaffen. Mit dieser kann man unterschiedliche CSS-Dateien, Bilder u.v.m. für die verschiedenen Browser auswählen.
PHP Browserweiche als Funktion
<?php
function browserweiche() {
//Firefox
if(eregi(”firefox”,$HTTP_USER_AGENT) {
$wert=”ff.css”;
}
//Opera
else if(eregi(”opera”,$HTTP_USER_AGENT) {
$wert=”op.css”;
}
//Netscape
else if(eregi(”netscape”,$HTTP_USER_AGENT) {
$wert=”nc.css”;
}
//Mozilla
else if(eregi(”mozilla”,$HTTP_USER_AGENT) {
$wert=”mo.css”;
}
//Internet Explorer
else if(eregi(”msie”,$HTTP_USER_AGENT) {
$wert=”ie.css”;
}
//Alle anderen
else {
$wert=”sonst.css”;
}
}
?>
Die Funktion eregi prüft die Variable $HTTP_USER_AGENT auf Vorkommen der Browser und beachtet dabei nicht die Groß-und Kleinschreibung. In $wert werden dann die unterschiedlichen CSS-Dateien geschrieben und die passende an die Funktion zurückgegeben.
Aufgerufen wird die Funktion dann einfach wie folgt:
<?php
echo browserweiche();
?>
Die Funktion kann man noch um weitere Browser erweitern, aber die wichtigsten sollten mit dieser Browserweiche abgedeckt werden.
Informationen zum Blogartikel "PHP Browserweiche als Funktion"
- veröffentlicht am Montag, 09. Februar 2009 um 13:33.
- Tags: Browser, browserweiche, Codeschnipsel, funktion, PHP, Programmierung
- Blog-Kategorie: Codeschnipsel, Programmierung
- Weiteres: RSS 2.0 | Antwort hinterlassen | Trackback










19. Februar 2009 um 19:52
Naja, man hätte im Beispiel Quellcode ruhig mit Switch arbeiten können. Gerade für solche Dinge wie eine umfangreiche Browserabfrage ist diese Anfrage prädestiniert.
Gruß
Professor web
04. Dezember 2009 um 20:41
Hallo,
kann man solch eine Browserweiche auch anwenden, um bei verschiedenen Browsern verschiedene Inhalte per include einzubinden (oder eben nicht einzubinden?)
Konkret: Bei der Website, die ich gerade für einen Chor erstelle habe ich das Problem, dass ein Banner, das ich mit einem bestimmten javascript auswechseln lasse nich richtig im ie angezeigt wird. Nun hatte ich die Idee, ich könnte das entsprechende Element auslagern, so dass man nur das Hintergrundbild des div sieht (welches identisch ist mit dem Startbild der Fadeshow). In diesem div wird bei allen anderen Browsern die show eingeblender…
Gruß;
Johannes
19. Januar 2010 um 10:34
hallo,
also die idee ist nicht schlecht, wie gesagt switch funktion wäre schöner.
btw im obigen code fehlt bei function die klammern () und sonst bei jeder abfrage die schließende )
hth
grüße
12. Mai 2010 um 20:39
Hallo,
statt echo müsste doch auch include möglich sein oder irre ich mich.
müsste es dann nicht so aussehen?
ich bekomme immer
Warning: include() [function.include]: Filename cannot be empty in
für die Zeile in der “§include ($wert);” steht
20. Januar 2012 um 14:13
man muss außerdem “$_SERVER['HTTP_USER_AGENT']” anstatt “$HTTP_USER_AGENT” verwenden.
wieso postet man ein absolut ungetestetes script. was soll das hier?
achja der funktionsaufruf ist auch falsch