Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Правильно обработать CDATA (https://javascript.ru/forum/dom-window/16645-pravilno-obrabotat-cdata.html)

Большой 16.04.2011 02:09

Правильно обработать CDATA
 
Доброй ночи!

Имеется текст. (получаемый по get)
<data><![CDATA[Основной текст]]></data>

Но я не могу получить текст.
Пробовал так.
$("data").text();
Возвращается пустой текст.

если так.
$("data").html();
Получаю
<data><!--<![CDATA[Основной текст]]>--></data>
и тоже не могу получить текст.
Как можно достать текст.

SV0L0CH 16.04.2011 08:47

Действительно, странное поведение для JQuery.
Тогда в get надо указать способ получения "xml", тогда в колбек будет передаваться DOM, а с ним можно будет работать почти не меняя кода.

Большой 16.04.2011 13:46

Распарсить как xml невозможно. т.к отсутствует root элемент. И все валиться.
Сервер мне недоступeн. Вот и приходится вымудряться.

SV0L0CH 16.04.2011 15:20

Один из способов:
alert("<data><![CDATA[\"Основной текст\"&]]></data>".replace(/<!\[CDATA\[(.*?)\]\]>/mg,function(a,b){
  return $('<div/>').text(b).html();
}));


Часовой пояс GMT +3, время: 12:52.