63

可能重复:
如何使用 jQuery 解码 HTML 实体?

我想转换这个文本:

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

到 html,带有标签和 Javascript 或 Jquery 中的所有内容。这该怎么做?

4

4 回答 4

171
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() 将其拉回。

现场演示

于 2012-05-23T08:03:44.670 回答
18

此线程中有一个 jQuery 解决方案。尝试这样的事情:

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

这将设置一个新<div>元素的 innerHTML(未附加到页面),导致 jQuery 将其解码为 HTML,然后使用.text().

于 2012-05-23T08:03:48.043 回答
10

使用 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/

于 2012-05-23T08:04:04.310 回答
3

我想你正在寻找这个?

$('#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();
于 2012-05-23T08:05:05.603 回答