phpbar.de logo

Mailinglisten-Archive

[php] "tags" und inhalt aus string lesen

[php] "tags" und inhalt aus string lesen

Christoph 'knurd' Jeschke christoph.jeschke at gmail.com
Mit Jul 27 16:22:52 CEST 2005


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