Javascript HTML源字段还将HTML代码更改为转义字符

Javascript HTML源字段还将HTML代码更改为转义字符,javascript,html,Javascript,Html,我有一个HTML源字段和一个标记文本字段。我根据标记字段的变化编写和提交的HTML。当我重新打开html字段区域时,它只给出该标记字段的html源代码。现在的问题是,除了一些转义字符外,其他所有东西都会给出正确的html。但是对于转义字符,它不能正常工作。 e、 g:对于空白,源字段返回的是 但对于版权©签名,而不是返回© ,它正在返回) 那么JS中是否有任何内置函数可以返回字符串转义字符的HTML部分 我甚至试过: function multiLineHtmlEncode(value)

我有一个HTML源字段和一个标记文本字段。我根据标记字段的变化编写和提交的HTML。当我重新打开html字段区域时,它只给出该标记字段的html源代码。现在的问题是,除了一些转义字符外,其他所有东西都会给出正确的html。但是对于转义字符,它不能正常工作。 e、 g:对于空白,源字段返回的是

但对于版权©签名,而不是返回
©

,它正在返回

那么JS中是否有任何内置函数可以返回字符串转义字符的HTML部分

我甚至试过:

function multiLineHtmlEncode(value) {
    var lines = value.split(/\r\n|\r|\n/);
    for (var i = 0; i < lines.length; i++) {
        lines[i] = htmlEncode(lines[i]);
    }
    return lines.join('\r\n');
}

function htmlEncode(value) {
    return jQuery('<div/>').text(value).html(); 
} 
函数MultileHTMLENCODE(值){
var line=value.split(/\r\n |\r |\n/);
对于(变量i=0;i

但不起作用。

我不确定是否完全理解您的意思,但请尝试使用如下定义的
htmlEncode
函数:

function htmlEncode(value){
  //create a in-memory div, set it's 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();
}
函数htmlEncode(值){
//创建内存中的div,设置其内部文本(jQuery自动编码)
//然后把编码的内容拿回来。div在页面上永远不存在。
返回$('').text(value.html();
}

如果我理解正确,请尝试对数据调用htmlEncode()两次:

htmlEncode(“”)
将生成
©,浏览器将显示为

但是
htmlEncode(htmlEncode(“))
将返回
&;抄袭浏览器将按字面形式呈现为
©,提供实际的HTML源代码,适合转义显示