Wie ich verstanden habe:
Suchmuster besteht aus drei Teilen
(\d+) : also 15
(\w+) : April 200
(\d+) : 3
dann Bei der Ersetzung
${2} was bedeutet das? für mich wäre 03 die letzte zwei Ziffern
und dann 1,
und dann $3 bedeutet letzte Referenzierung d.h (\d+) = 3
zusammen kommt für mich 031,3
bestimmte irre ich mich, könnte bitte jemand mir das erklären.
Grüße
Hallo!
Die sind auch nicht leicht zu verstehen. Da hilft nur viel Übung - und gute Notizen, wenn Du lange nichts mit machst, vergißt Du sonst die Hälfte wieder.
Ich will´s mal versuchen zu erklären.
$zeichenkette = '15. April 2003';
$suchmuster = '/(\d+). (\w+) (\d+)/i';
\d sucht nach Ziffern.
Ein + bedeutet mindestens einmal, aber beliebig oft soll das Gesuchte vorkommen. Das trifft hier auf 15 zu. Die Klammern um \d+ sorgen dafür, daß das Gefundene intern durchnumeriert wird, angefangen bei 1.
Als nächstes wird . gesucht. Ein . steht für ein beliebiges Zeichen. Wenn man tatsächlich einen Punkt suchen will, muß man das maskieren, was durch den \ geschieht.
Jetzt haben wir
(\d+).
womit wir
15.
finden.
Anschließend wird ein Leerzeichen gesucht.
\w sucht alpha-numerische Zeichen (Buchstaben, Ziffern und Unterstrich), wieder beliebig viele, aber mindestens eins. Da der Ausdruck geklammert ist, kriegt der Fund intern die 2.
Der Rest läuft dann genauso.
i ist noch ein Modifizierer, der dafür sorgt, daß Groß- und Kleinschreibung nicht berücksicht wird. Das ist hier eigentlich überflüssig.
Das ist eigentlich ein harmloser Ausdruck, aber man muß das üben.