Hallo!
Ich habe einen Text, welcher ASCII Zeichen in folgender Form enthält:
Das Leerzeichen zwischen & und # muss weggedacht werden, da es sonst hier im Forum als "ü" angezeigt worden wäre.
Ich möchte nun Zeichen dieser Art aus dem Text herausfiltern und durch den Buchstaben selber (in diesem Fall das ü) ersetzen.
Leider klappt das bei mir nicht so ganz...
Hier mein Regex:
Code:
$str = preg_replace('=&#(\d*);=Ue', 'chr("$0")', $str);
Auf diese Weise wird so ein Kästchen angezeigt, sprich nicht erkanntes Zeichen.
Nutze ich folgendes:
Code:
$str = preg_replace('=&#(\d*);=U', "$0", $str);
Wird genau die gleichen Zeichenfolge ausgegeben, wie sie es auch vor der Bearbeitung war. Man könnte also denken, sie sei nicht gefunden worden.
Nutze ich nun aber
Code:
$str = preg_replace('=&#(\d*);=U', "$0 test", $str);
wird die Zeichenfolge von vorher mitsamt dem " test" ausgegeben.
Wo liegt der Fehler?