Hi,
Nutze $1 statt \1 zum referenzieren der Back Reference.
Aja, vielen Dank - jetzt klappts.
Kannst du mir noch kurz sagen, was der Unterschied von $ und \ ist? Laut http://regexp-evaluator.de/tutorial/backreferences/ ist der \ für Backreferences zuständig, $ dagegen als Zeichenbegrenzung.
$ steht nur im Suchmuster fuer das Zeichenkettenende, im Ersatz-String hat es keine RegExp-Sonderbedeutung.
\1 statt $1 kannst du genauso nehmen - wenn du den Ersatz-String in einfache Hochkommata einkleidest. Bei doppelten Anfuehrungszeichen haelt der PHP-Parser ihn fur die Einleitung der Notation eines Bytewertes, in diesem Falle 01. Da das kein darstellbares ASCII-Zeichen ist, wird daraus bei der Ausgabe im Browser ein Leerzeichen. Innerhalb doppelter Anfuehrungszeichen muesstest du dann \1 schreiben, damit nachdem PHP mit dem Parsing des Strings fertig ist, ein einfacher Backslash "uebrig" bleibt, und dann beim Auswerten durch den RegExp-Parser als einleitendes Zeichen fuer eine Back Reference erkannt werden kann.
MfG ChrisB
„This is the author's opinion, not necessarily that of Starbucks.“