Подтвердить что ты не робот

Как вы делаете кодирование html с помощью javascript?

Возможный дубликат:
JavaScript/jQuery HTML-кодирование

У меня есть html-теги, которые нужно закодировать.

<b>test</b>

Мне нужно закодировать его, чтобы:

&lt;b&gt;test&lt;/b&gt;

Я использую escape, но он не работает.

document.write(escape("<b>test</b>"));

получился результат

%3Cb%3Etest%3C/b%3E

Это не то, что я ожидал. есть ли другой способ сделать html-кодирование с помощью javascript?

4b9b3361

Ответ 1

Как размещен ранее @CMS

function htmlEncode(value){
  //create a in-memory div, set it inner text(which jQuery automatically encodes)
  //then grab the encoded contents back out.  The div never exists on the page.
  return $('<div/>').text(value).html();
}

function htmlDecode(value){
  return $('<div/>').html(value).text();
}

htmlEncode('<b>test</b>')
// result"&lt;b&gt;test&lt;/b&gt;"

Казалось, что это нормально... если вы не хотите версию без jQuery. В этом случае связанный поток должен помочь другим методам.

Ответ 2

var html = "<b>test</b>";
var result = html.replace(/</g,"&lt;").replace(/>/g,"&gt;");