我正在解析来自 feedburner 的一些数据,其中包含 HTML 实体。我正在尝试使用 jQuery 对 HTML 实体进行编码,如下所示:
var encodedStr = data['1']['result']['content']; // content with HTML entities
$("#content").html(encodedStr).text();
但没有结果。
这是它的解析:http: //jsbin.com/ihadam/1/edit
我正在解析来自 feedburner 的一些数据,其中包含 HTML 实体。我正在尝试使用 jQuery 对 HTML 实体进行编码,如下所示:
var encodedStr = data['1']['result']['content']; // content with HTML entities
$("#content").html(encodedStr).text();
但没有结果。
这是它的解析:http: //jsbin.com/ihadam/1/edit
基本上,您应该将您的 html 实体编码为 html,如下所示:
var encodedStr = data['1']['result']['content'];
var a = $("#content").html(encodedStr).text();
然后获取编码文本并将其作为 html() 应用,如下所示:
$("#content").html(a);
那应该行得通。
演示:http: //jsbin.com/ihadam/9/edit
您可以使用纯 JavaScript 函数来节省 JQuery 的臃肿。
有时你只想对每个字符进行编码......这个函数替换了 regxp 中的“除了没有什么之外的一切”。
function encode(e){return e.replace(/[^]/g,function(e){return"&#"+e.charCodeAt(0)+";"})}
function encode(w) {
return w.replace(/[^]/g, function(w) {
return "&#" + w.charCodeAt(0) + ";";
});
}
test.value=encode(document.body.innerHTML.trim());
<textarea id=test rows=11 cols=55>www.WHAK.com</textarea>