替换<和>使用<和>

时间:2015-05-21 14:06:46

标签: javascript jquery

我有一个文本输入和一个包含相同文本的div。我正在使用下面的行在DIV文本中创建与输入文本相同的换行符。

$('#tF').html( $(this).val().replace(/\n/g, '<br />') ); 

问题:如何使用'<br />&lt;撰写&gt;

示例(不起作用):

$('#tF').html( $(this).val().replace(/[<>]/g, function(_){ return {'<':'&lt;','>':'&gt;'}[_]; }).replace(/\n/g, '<br />' );

3 个答案:

答案 0 :(得分:2)

您可以使用我在上一篇文章中找到的这个小功能

function escapeHtml(text) {
  var map = {
    '&': '&amp;',
    '<': '&lt;',
    '>': '&gt;',
    '"': '&quot;',
    "'": '&#039;'
  };

  return text.replace(/[&<>"']/g, function(m) { return map[m]; });
}

然后

$('#tF').html( escapeHtml( $(this).val() ) ); 

答案 1 :(得分:0)

我不确定如何按照您的要求完成此操作,但您可以在每个换行符时拆分文本,并在块之间使用.append($("<br />"))

答案 2 :(得分:0)

您可以将&lt&gt替换为:

$('#tF').html($(this).val().replace(/\n/g, '<br />').replace(/</g, '$lt;').replace(/>/g, '&gt;'));