Mailinglisten-Archive |
Michael Borchers schrieb:
> habs schon, tue mir nur schwer mit den reg. ausdrücken.
Es existiert ein wundervolles Buch von Jeffrey Friedl, "Reguläre
Ausdrücke", O'Reilly, ISBN 3-89721-349-4. Dies wird dir helfen, reguläre
Ausdrücke zu verstehen.
> wie muss der suchpattern aussehen,
> wenn eine zahl in der regel so aussieht:
> 12-345-67890
> , halt mit '-' dazwischen?!
Die einfachste, aber auch generellste Lösung sieht IMHO so aus:
!\<id\>([\d\-]+)\<\/id\>!
Funktionserklärung:
Passt auf ein oder mehrere Zahlen oder Bindestriche, die zwischen <id>
und </id> vorkommen. Merkt sich die gefundene Zeichenkette. Das
bedeutet, <id>----</id> würde genauso matchen wie <id>-100</id>,
<id>1</id> oder <id>10-203-55</id>.
Wenn Du es genauer[tm] haben möchtest, musst Du uns entweder das genaue
Muster dieser Zeichenkette verraten oder den Ausdruck selbst beliebig
erweitern. Ich empfehle dir letzteres.
Vereinfachte Zeichenerklärung:
! grenzt den regulären Ausdruck ein (eine Möglichkeit, z.B. // oder ||
funktionieren auch)
() "fangen" das passende Ergebnis ein
[] lässt alles, was innerhalb der Klammern steht als Zeichenklasse
gelten
\d Ersatz für 0-9 (\digit = Zahl), funktioniert nur in PCRE
\- Der Backslash macht aus einem (möglichen) Metazeichen (= ein
Zeichen, welches eine erweiterte Bedeutung als nur sich selbst hat)
ein "ganz normales" Zeichen (in diesem Fall einen Bindestrich)
+ Die in der vorher angegebenen Zeichenklasse (siehe []) Zeichen
einmal oder mehr
BTW:
Dein Outlook Express ist katastrophal eingestellt. Sorge bitte dafür,
internationale Einstellungen zu verwenden (Re statt AW, Fwd statt WG,
etc.). Am besten Du besorgst Dir einen richtigen MUA.
php::bar PHP Wiki - Listenarchive