PHP: Как избавиться от странных символов, таких как "\u00a0"?

Я получил кучу данных JSON для импорта в мою базу данных (для дальнейших целей). Когда я проверил их (открыт в текстовом редакторе), они содержат так много странных (бредовых) символов, как:

  • \ u00a0

Например, data.json:

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

И тогда, очевидно, код ниже просто не будет работать:

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

Несмотря на то, для чего эти персонажи, как я могу от них избавиться, пожалуйста?

1 ответ

Решение

Спасибо всем в разделе комментариев, которые (по крайней мере) помогли мне узнать, что это non-breaking characters, Затем я в любом случае погуглил и сам нашел рабочее решение:

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

Еще раз спасибо всем.:)

Если у вас есть отдельные строки, в конце которых могут быть неразрывные пробелы или возврат строки, вы можете обрезать их при объединении данных JSON, используя следующее:

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

Другие вопросы по тегам