![]() |
Mit PHP den User-Agent parsen
Hallo zusammen,
ich habe nun schon eine Ewigkeit gesucht und finde leider keine Möglichkeit, mit PHP den Browser, die Browserversion und das Betriebssystem auszulesen. Es gibt die Funktion get_browser(), die all diese Informationen enthält, doch ist der Zugriff auf die browscap.ini, die die nötigen Informationen enthält (das sind sehr viele), gesperrt. Dann dachte ich mir, man müsste alle drei Daten, die ich erhalten möchte, aus dem User-Agent ($_SERVER['HTTP_USER_AGENT']) auslesen können, doch weiß ich absolut nicht, wie man das am besten macht. Um reguläre Ausdrücke werde ich nicht herumkommen und selbst wenn ich diese hätte, brauche ich weitere Infos, wie was "übersetzt" werden muss. Mein User-Agent sieht folgendermaßen aus:
Code:
Nun muss ich ja wissen, dass "Windows NT 5.1" Windows XP und dass "BonEcho" Firefox ist mit der Version 2.0a2. Das sind eine Hülle von Infos, denn es gibt Zahlreiche Browser und somit auch Browserversionen und natürlich gibt es auch einige Betriebssysteme und ihre Versionen.
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1a2) Gecko/20060512 BonEcho/2.0a2
Ob die User-Agents der verschiedenen Browser alle gleich aufgebaut sind, ist dann auch noch die andere Frage ... Wisst ihr wie man das löst oder wie man das angehen kann? |
Re: Mit PHP den User-Agent parsen
Hi,
hast du keine Möglichkeit, den Eintrag browscap in der php.ini zu ändern? Wenn nicht musst du wohl die Funktion get_browser() nachprogrammieren. Dazu kannst du dir ja eine browscap.ini z.B. ![]() |
Re: Mit PHP den User-Agent parsen
Hallo Nico
Zitat:
Zitat:
Eine andere Möglichkeit, außer alle User-Agents durchzugehen und auf eine Übereinstimmung zu testen gibt es definitiv nicht? Nachtrag: ![]() |
Re: Mit PHP den User-Agent parsen
dein Nachtrag funktioniert glaube ich, indem es den User Agent zerlegt.
|
Re: Mit PHP den User-Agent parsen
Ja, so sieht es aus.
Ich mache es nun so, dass ich die wichtigen User Agents nehme und auf diese vergleiche. Den IE 1.0 wird beispielsweise heute kaum einer mehr nutzen, da reicht es die Agents ab Version 5 zu nehmen. Dann sind es auch nicht so viele. :) Aber es ist schon etwas blöd, dass es da keinen geregelten Standard gibt, der vorschreibt, wie so ein User Agent auszusehen hat. |
Re: Mit PHP den User-Agent parsen
Zitat:
![]() |
Re: Mit PHP den User-Agent parsen
|
Re: Mit PHP den User-Agent parsen
@Flocke: Ah, danke.
@chaosben: Oha, das sind ja wahnsinnig viele. Ich gebe mich jedoch mit einer Auswahl von ![]() |
Re: Mit PHP den User-Agent parsen
Sonst schaue Dir doch mal Software wie AWstats an. Dort werden alle von Dir gewünschten Informationen auch aus dem User-Agent ausgelesen. Vielleicht kann man sich da ja eine Anregung holen, ist zwar kein PHP, aber die Idee sollte ja die gleiche sein.
|
Re: Mit PHP den User-Agent parsen
Zitat:
Ich teste mal meine jetzige Lösung und falls diese nichts ist, muss ich mich nach einer anderen umsehen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:12 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz