问题
I am parsing some data from feedburner of which contains HTML entities. I am trying to encode the HTML entities using jQuery as such:
var encodedStr = data['1']['result']['content']; // content with HTML entities
$("#content").html(encodedStr).text();
but with no results.
Here is what its parsed: http://jsbin.com/ihadam/1/edit
回答1:
Basically you should encode your html entities into html as such:
var encodedStr = data['1']['result']['content'];
var a = $("#content").html(encodedStr).text();
Then get the encoded text and apply it as html() as such:
$("#content").html(a);
That should work.
Demo: http://jsbin.com/ihadam/9/edit
回答2:
You can save the bloat of JQuery with pure JavaScript functions.
Sometimes you just want to encode every character... This function replaces "everything except for nothing" in 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>
来源:https://stackoverflow.com/questions/15713449/encode-html-entities