Javascript декодирование HTML объектов

Возможный дубликат:
Как декодировать HTML-сущности с помощью jQuery?

Я хочу преобразовать этот текст:

"<p>name</p><p><span style="font-size:xx-small;">ajde</span></p><p><em>da</em></p>"

в HTML, с тегами и все в Javascript или Jquery. Как это сделать?

4 ответа

Решение
var text = '<p>name</p><p><span style="font-size:xx-small;">ajde</span></p><p><em>da</em></p>';
var decoded = $('<textarea/>').html(text).text();
alert(decoded);

Это устанавливает innerHTML нового элемента (не добавленного к странице), заставляя jQuery декодировать его в HTML, который затем возвращается с помощью.text().

Живая демоверсия.

В этой теме есть решение jQuery. Попробуйте что-то вроде этого:

var decoded = $("<div/>").html('your string').text();

Это устанавливает innerHTML нового <div> элемент (не добавляется к странице), заставляя jQuery декодировать его в HTML, который затем возвращается .text(),

Используя jQuery, проще всего будет:

var text = '&lt;p&gt;name&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:xx-small;"&gt;ajde&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;da&lt;/em&gt;&lt;/p&gt;';

var output = $("<div />").html(text).text();
console.log(output);

ДЕМО: http://jsfiddle.net/LKGZx/

Я думаю, что вы ищете это?

$('#your_id').html('&lt;p&gt;name&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:xx-small;"&gt;ajde&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;da&lt;/em&gt;&lt;/p&gt;').text();
Другие вопросы по тегам