En mi cadena tengo espacio utf-8 non-breaking (0xc2a0) y quiero reemplazarlo con algo más.non-breaking utf-8 0xc2a0 espacio y preg_replace comportamiento extraño
Cuando uso
$str=preg_replace('~\xc2\xa0~', 'X', $str);
funciona bien.
Pero cuando uso no se encuentra
$str=preg_replace('~\x{C2A0}~siu', 'W', $str);
espacio de no separación (y reemplazado).
¿Por qué? ¿Qué pasa con la segunda expresión regular?
El formato \x{C2A0}
es correcto, también usé la bandera u
.
Puede ser porque '$ str' no es Unicode cuerda. – YOU