【PHP】ノーブレークスペース(\u00a0)への対処
ノーブレークスペース(\u00a0)への対処
HTML を解析するプログラムを書いていたら置換などが出来ない 空白( ) を発見しました。
調査
該当の文字列のユニコードの値を取得するため json にしてました。
$html = 'hoge piyo';
var_dump(json_encode($html, true));
※サンプルの空白は通常のスペースになっています。
string(14) "hoge\u00a0piyo"
これで文字列を特定出来ました。
\u00a0
このスペースは ノーブレークスペース というもので HTML の   の事。
対処
文字列として対処
$html = 'hoge piyo';
$exp = expload (`\u{00a0}`, $html);
var_dump($exp);
正規表現で対処
$html = 'hoge piyo';
$exp = preg_split (`~\x{00a0}~siu`, $html);
var_dump($exp);