Parantatatam
mag Cookies & Kekse
Hallo Tutorianer,
mein momentanes Anliegen ist, dass ich versuche nun mehr endlich eine anwendbare Lösung für einen User-Agent-String-Parser zu entwickeln. Dabei habe ich jetzt zwei Ansätze, welche beide funktionieren, wobei einer davon doch eher unnötig kompliziert ist, wie mir heute auffiel. Deshalb habe ich mich jetzt zu einer Variante II bemüht, welche allein mit regulären Ausdrücken arbeitet. Und da liegt auch schon das Problem, welches vermutlich nur durch das Pattern und ein Beispiel zu erklären ist:
Was dann beispielsweise das hier durchsuchen soll:
Und am Ende soll eben herauskommen:
Jetzt zum Problem: er findet eine Versionsnummer im Format a_b_c, aber nicht im Format a.b.c
Wenn ich jedoch die Reihenfolge im Pattern ändere, also, dass der Unterstrich nach der Variante mit dem Punkt notiert wird, dann funktioniert die Variante mit Punkt, allerdings nicht die mit dem Unterstrich. Ich frage mich nur warum das so ist und sehe keine Möglichkeit das zu korrigieren, da diese beiden Varianten bereits gruppiert sind.
[offtopic]Wie kann man Text in Code- oder Highlight-Tags farbig hervorheben?[/offtopic]
mein momentanes Anliegen ist, dass ich versuche nun mehr endlich eine anwendbare Lösung für einen User-Agent-String-Parser zu entwickeln. Dabei habe ich jetzt zwei Ansätze, welche beide funktionieren, wobei einer davon doch eher unnötig kompliziert ist, wie mir heute auffiel. Deshalb habe ich mich jetzt zu einer Variante II bemüht, welche allein mit regulären Ausdrücken arbeitet. Und da liegt auch schon das Problem, welches vermutlich nur durch das Pattern und ein Beispiel zu erklären ist:
Code:
/(windows nt|windows|win|syllable|macintosh|mac os x|iphone os|amigaos|mozilla|firefox|gecko)((\/[v]?|[ ]+)([0-9]+((_[0-9]+)*|(\.[0-9]+)*)))?/i
Code:
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10
Code:
Array (
[0] => Array (
[0] => Mozilla,
[1] => 5.0,
),
[1] => Array (
[0] => Macintosh,
[1] => ,
),
[2] => Array (
[0] => Mac OS X,
[1] => 10.6,
),
[3] => Array (
[0] => Gecko,
[1] => 20100914,
),
[4] => Array (
[0] => Firefox,
[1] => 3.6.10,
),
)
Wenn ich jedoch die Reihenfolge im Pattern ändere, also, dass der Unterstrich nach der Variante mit dem Punkt notiert wird, dann funktioniert die Variante mit Punkt, allerdings nicht die mit dem Unterstrich. Ich frage mich nur warum das so ist und sehe keine Möglichkeit das zu korrigieren, da diese beiden Varianten bereits gruppiert sind.
[offtopic]Wie kann man Text in Code- oder Highlight-Tags farbig hervorheben?[/offtopic]