Moin!
Die Frage mit den Backslashes hat sich auch klären lassen, inde ich mir das resultierende Pattern ausgeben lassen habe. Es ist PHP egal, ob man einen \ oder zwei \ nimmt. Es resultiert daraus immer nur einer. Ich habe jetzt, um zum Manual konform zu bleiben, zwei benutzt.
Es ist nicht egal. Der Backslash wird ja als Escape-Zeichen bzw. als Einleiter für Sonderzeichen wie \n benutzt.
Um in einem String selbst einen Backslash zu platzieren, muß er verdoppelt werden: "\" -> \
Ein einzelner Backslash, der nicht mit einem nachfolgenden Zeichen zu einer Sonderfunktion geführt werden kann, bleibt aber als einzelnes Zeichen erhalten.
"\n" -> chr(10)
"\z" -> \z
Du solltest also dringend das Escaping des Strings mit berücksichtigen, um nicht unerwartet in irgendwelche Fallen zu tappen. Die Regex-Engine will zum Escapen von Punkten beispielsweise . erhalten, um diesen String aber in PHP in den Programmcode einzugeben, ist "\." notwendig. Arbeitest du nur mit ".", funktioniert das aufgrund der fehlenden Sondereigenschaften des Zeichens . so, wie erwartet - aber wehe, du ersetzt den Punkt durch z.B. ein n...
- Sven Rautenberg