У меня есть строка с “\\u00a0”, и я должен заменить его “” str_replace сбои

Я должен убрать строку, которая прибывает (копируют/вставляют) с различных приложений комплекта Microsoft Office (Excel, Доступ и Word), каждый с его собственным набором кодирования.

Я использую json_encode для отладки целей чтобы к способности видеть каждый закодированный символ.

Я могу убрать все, что я нашел до сих пор (\r \n) с str_replace, но с \u00a0 у меня нет удачи.

$string = 'mail@mail.com\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0;mail@mail.com'; //this is the output from json_encode

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

возвраты:

mail@mail.com\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0;mail@mail.com

Это - точно то же; это полностью игнорирует \u00a0.

Существует ли путь вокруг этого? Кроме того, я чувствую, что изобретаю велосипед, существует ли функция/класс, которая полностью лишает КАЖДЫЙ possibile символ КАЖДОГО возможного кодирования?

____ РЕДАКТИРОВАНИЕ ____

После первых двух ответов я должен разъяснить, что мой пример ДЕЙСТВИТЕЛЬНО работает, потому что это - вывод от json_encode, не фактическая строка!

20
задан Peter Mortensen 1 October 2014 в 03:14
поделиться

2 ответа

У меня работает, когда я копирую / вставляю ваш код. Попробуйте заменить двойные кавычки в вашем str_replace () одинарными кавычками или экранировать обратную косую черту ( "\\ u00a0" ).

6
ответ дан 29 November 2019 в 22:49
поделиться

Вы должны использовать одинарные кавычки, например:

str_replace('\u00a0', "",$string);

Или, если вы хотите использовать двойные кавычки, вы должны избегать обратной косой черты - это будет выглядеть так:

str_replace("\\u00a0", "",$string);
1
ответ дан 29 November 2019 в 22:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: