Encode HTML entities

2019-02-23 17:14发布

问题:

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>