PHP: 如何去掉"\u00a0"这样的奇怪字符?

PHP: How to get rid of strange characters like "\u00a0"?

我有一堆乱七八糟的 JSON 数据要导入我的数据库(用于进一步的目的)。当我检查它们时(在文本编辑器中打开),它们包含许多奇怪的(乱码)字符,例如:

例如,data.json:

[{"title":"hello world!","html_body":"<p>Hello\u00a0 from the\u00a0  other side.\u00a0 <\/p>"}]

然后,显然,下面的代码根本行不通:

$clean = str_replace("\u00a0", "", $string);

不管这些字符是干什么用的,我怎样才能摆脱它们

感谢评论区的每个人,(至少) 帮助我知道这些是 non-breaking characters。然后我用谷歌搜索并找到了一个可行的解决方案:

$clean_html_body = preg_replace('/\xc2\xa0/', '', $html_body);

再次感谢大家。 :)

如果您的单个字符串可能有不间断的空格或行 returns 在它们的末尾,您可以 trim 这些在将 JSON 数据放在一起时使用这个:

$dat = trim($dat,"\t\n\r[=14=]\x0B\xc2\xa0");