избегайте

#php #javascript #json #encoding #character-encoding

#php #javascript #json #кодирование #кодировка символов

Вопрос:

У меня проблема с кодировкой (я думаю). Мой скрипт получает с помощью ajax php, который генерирует файл JSON. Думаю, что JSON (видно в firebug)

 ["amp;#8220;This is a wordamp;#8221; This not"]
  

И я хочу удалить amp;#8220 . Есть ли какой-либо способ удалить это (в php или js, не имеет значения)

Заранее спасибо.

Комментарии:

1. итак, текст ответа: «Это слово»; Это не»?

2. Вы хотите сказать, что возвращаемая строка JSON содержит символы, представленные amp;#8220 и amp;#8221 (я полагаю, в кавычках), или фактические отдельные символы amp;, #, 8, 2, 2, 0 ?

Ответ №1:

Для javascript вы можете использовать:

 var src = "amp;#8220;This is a wordamp;#8221; This not";
src = src.replace(/amp;#8220;/gi, "");
  

Для php вы можете использовать:

 $src = "amp;#8220;This is a wordamp;#8221; This not";
$src = str_replace("amp;#8220;", "", $src);
  

Ответ №2:

 ["amp;#8220;This is a wordamp;#8221; This not"]
  

это всего лишь одна строка, закодированная в JSON. Если вы хотите удалить эту часть строки (или JSON для строки), вы можете создать строку с помощью JSON, а затем использовать функцию javascript replace для удаления amp;#8220; .

Попробуйте это:

 var response = ["amp;#8220;This is a wordamp;#8221; This not"];
response.replace(/amp;#8220;/g, "");
  

если вы действительно хотите это в JSON (в чем я сомневаюсь), вы можете затем вернуть его обратно:

 var response_json = JSON.stringify(response);