Oggy: browserweiche

Beitrag lesen

Hallo Oggy,

bessergesagt die $_SERVER['HTTP_USER_AGENT'] strings von verschiedenen browsern.

http://webalizer.teamone.de/selfforum/agent_200310.htm

das script ist ziemlich kurz, weshalb es nicht einfach ist festzustellen ob es alle fälle abdeckt.

Mit Sicherheit nicht. Selbst wenn das Script eine Milliarde verschiedener Strings kennen würde, würde es immer noch nicht alle Browser abdecken. Zumal der User-Agent-String erstens optional und zweitens beliebig manipulierbar ist.

ist schon kurz:

if(preg_match("/^mozilla/i",$ke) or preg_match("/^opera/i",$ke)){
  $z=preg_replace("/^mozilla/\d.\d /i","",$ke);
  if(preg_match("/opera/i",$z)){ if( preg_match("/opera.(\d.\d+)/i",$z,$r)) {$b[0]='Opera'; $b[1]=$r[1]; $b[2]=findOS($z);}}
  elseif(preg_match("/konqueror/i",$z)){if(preg_match("/konqueror.(\d.\d)/i",$z,$r)) {$b[0]='Konqueror'; $b[1]=$r[1]; $b[2]=findOS($z);}}
  elseif(preg_match("/gecko/i",$z)){if(preg_match("/rv:(\d.\d[\w.]*)/i",$z,$r)) {$b[0]='Gecko'; $b[1]=$r[1]; $b[2]=findOS($z);}}
  elseif(preg_match("/msie/i",$z)){if(preg_match("/msie.(\d.\d+)/i",$z,$r)) {$b[0]='MSIE'; $b[1]=$r[1]; $b[2]=findOS($z);}}
  else {$b[0]='Sonstige'; $b[1]=''; $b[2]='';}
  echo "<span class="green">".$b[0]." ".$b[1]." ".$b[2]."</span><br>";
 }

Eine Browserweiche ist eigentlich so gut wie nie sinnvoll, warum willst Du unbedingt eine verwenden?

statistik. ich kann browser, versionen, OS und bildschirmauflösungen (die nicht mit diesem script ;) ) in einer datenbank speichern. das hilft später bei umgestaltungen der site, wenn ich die anwendergruppe besser einschätzen kann...

Viele Grüße,
Christian

der link ist ko, aber nicht ganz das was ich suche, daten in der folgenden form wären hilfreich...

Mozilla/4.0 (compatible; MSIE 6.0; MSIE 5.5; Windows NT 5.0) Opera 7.02 Bork-edition [en]
Mozilla/5.0 (Windows; U; WinNT4.0; en-US; rv:1.3a) Gecko/20021207 Phoenix/0.5
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Q312461)
Mozilla/5.0 (Windows; U; WinNT4.0; en-US; rv:1.2) Gecko/20021126
Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:0.9.4) Gecko/20011128 Netscape6/6.2.1
Mozilla/5.0 (compatible; Konqueror/3.1; Linux 2.4.19-32mdkenterprise; X11; i686; ar, en_US)

oggy

ps: oder ist der ansatz völlig unsinnig???