non-breaking utf-8 0xc2a0 espaço e preg_replace comportamento estranho
Na minha string eu tenho utf-8 non-breaking space (0xc2a0) e quero substituí-lo com outra coisa.
Quando eu uso
$str=preg_replace('~\xc2\xa0~', 'X', $str);
funciona bem.
Mas quando eu uso
$str=preg_replace('~\x{C2A0}~siu', 'W', $str);
espaço não quebra não é encontrado (e substituído).
Por quê? O que há de errado com o segundo regexp?
O formato\x{C2A0}
está correto, também useiu
bandeira.