non-breaking utf-8 0xc2a0 Raum und preg_replace seltsames Verhalten

In meinem string habe ich utf-8 non-breaking space (0xc2a0) und ich möchte es ersetzen mit etwas anderem.

Wenn ich

$str=preg_replace('~\xc2\xa0~', 'X', $str);

funktioniert es.

Aber wenn ich

$str=preg_replace('~\x{C2A0}~siu', 'W', $str);

non-breaking-space nicht gefunden (und ersetzt).

Warum? Was ist falsch an der zweiten regexp?

Format \x{C2A0} ist richtig, auch ich verwendet u Flagge.

InformationsquelleAutor der Frage DamirR | 2012-10-11

Schreibe einen Kommentar