Hallo,
Das Problem ist aber, es sind komplette Zeilen der access-log-File. Deine RegExps:
[...]
unterschlagen mir 12 IEs bei der Gessamtzählung ($allIE),
Was? 12 IEs von über 100000 werden unterschlagen? Das sind ja ca. 0,1 Promille! Im Staßenverkehr ginge das locker durch, ist aber natürlich absolut intolerabel in einer Browserstatistik für den eisernen Explorer (IronIE).
und zwar aus solchen Zeilen:
217.6.15.133 - - [29/Oct/2007:11:05:17 +0100] "GET /1/rezept1.html HTTP/1.1" 200 5253 advent-2000.atomic-eggs.com "http://www.google.de/search?q=J%27accuse...!+(Ich+klage+an...!),+&ndsp=20&hl=de&start=70&sa=N" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 2.0.50727)" "-"
oder:
70.85.114.146 - - [19/Oct/2007:01:46:03 +0200] "GET /javascript:parent.theMenu.openAll/(/);/ HTTP/1.0" 404 2295 old.atomic-eggs.com "-" "Mozilla/4.0 (compatible; MSIE 6.0b; Windows NT 5.0; .NET CLR 1.0.2914)" "-"
Wow, und da wundert man sich noch über Bandbreitenprobleme...
Durch den Referrer in den Logfiles, der ja VOR dem User-Agent erscheint, aber auch, wie man sieht, durch den Request, können Klammer auch vorher in der Zeile vorhanden sein.
Na gut, dann muss man halt statt der Klammer einen anderen, eindeutigen Zeichenstring ausfindig machen oder aber, was mir sinnvoller erscheint, nicht die ganzen if-Statements nacheinander für ein und dieselbe Zeile abarbeiten, sondern z.B. eine Art Switch bemühen, so dass es pro Zeile immer nur einen Treffer geben kann.
Gruß, Don P