Javascript解码html实体

时间:2012-05-23 08:01:29

标签: javascript jquery

  

可能重复:
  How to decode HTML entities using jQuery?

我想转换此文字:

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

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

4 个答案:

答案 0 :(得分:166)

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

Live demo

答案 1 :(得分:18)

this thread中有一个jQuery解决方案。尝试这样的事情:

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

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

答案 2 :(得分:9)

使用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);

DEMO: http://jsfiddle.net/LKGZx/

答案 3 :(得分: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();