В моей строке у меня есть неиспользуемое пространство utf-8 (0xc2a0), и я хочу заменить его чем-то другим.
Когда я использую
$str=preg_replace('~\xc2\xa0~', 'X', $str);
он работает нормально.
Но когда я использую
$str=preg_replace('~\x{C2A0}~siu', 'W', $str);
неразрывное пространство не найдено (и заменено).
Почему? Что не так со вторым регулярным выражением?
Формат \x{C2A0}
правильный, также я использовал флаг u
.