niełamujące się utf-8 0xc2a0 spacja i preg_replace dziwne zachowanie
W moim łańcuchu mam utajniającą przestrzeń utf-8 (0xc2a0) i chcę ją zastąpić inną.
Kiedy używam
$str=preg_replace('~\xc2\xa0~', 'X', $str);
to działa OK.
Ale kiedy używam
$str=preg_replace('~\x{C2A0}~siu', 'W', $str);
nie złamana przestrzeń nie została znaleziona (i zastąpiona).
Czemu? Co jest nie tak z drugim wyrażeniem regularnym?
Format\x{C2A0}
jest poprawne, także użyłemu
flaga.