我有一个文本输入和一个包含相同文本的div。我正在使用下面的行在DIV文本中创建与输入文本相同的换行符。
$('#tF').html( $(this).val().replace(/\n/g, '<br />') );
问题:如何使用'<br />
和<
撰写>
?
示例(不起作用):
$('#tF').html( $(this).val().replace(/[<>]/g, function(_){ return {'<':'<','>':'>'}[_]; }).replace(/\n/g, '<br />' );
答案 0 :(得分:2)
您可以使用我在上一篇文章中找到的这个小功能
function escapeHtml(text) {
var map = {
'&': '&',
'<': '<',
'>': '>',
'"': '"',
"'": '''
};
return text.replace(/[&<>"']/g, function(m) { return map[m]; });
}
然后
$('#tF').html( escapeHtml( $(this).val() ) );
答案 1 :(得分:0)
我不确定如何按照您的要求完成此操作,但您可以在每个换行符时拆分文本,并在块之间使用.append($("<br />"))
。
答案 2 :(得分:0)
您可以将<
和>
替换为:
$('#tF').html($(this).val().replace(/\n/g, '<br />').replace(/</g, '$lt;').replace(/>/g, '>'));