4

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

markasoftware
  • 12,292
  • 8
  • 41
  • 69
jQuerybeast
  • 14,130
  • 38
  • 118
  • 196

2 Answers2

2

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

ATs
  • 105
  • 5
0

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>
Dave Brown
  • 923
  • 9
  • 6