私の文字列には utf-8 改行なしスペース (0xc2a0) があり、それを別のものに置き換えたいと考えています。
私が使うとき
$str=preg_replace('~\xc2\xa0~', 'X', $str);
それは正常に動作します。
しかし、私が使用するとき
$str=preg_replace('~\x{C2A0}~siu', 'W', $str);
非改行スペースは見つかりません (そして置き換えられます)。
なんで?2番目の正規表現の何が問題になっていますか?
フォーマット\x{C2A0}
は正しいです。また、u
フラグを使用しました。