HTML源字段还将HTML代码更改为转义字符
HTML source field is also changing html code into escaped characters
我有一个HTML源字段和一个标记文本字段。我根据标记字段的变化编写和提交的HTML。当我重新打开html字段区域时,它只提供该标记字段的html源代码。现在的问题是,对于除了一些转义字符之外的所有其他内容,它都给出了正确的html。但对于转义字符,它不能正常工作。例如:对于空白空间,源字段正在返回<p> </p>
但对于版权©sign,它不是返回<p> © </p>
,而是返回<p>©</p>
那么,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();
}
但不起作用。
我不确定我是否完全理解你的意思,但尝试使用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();
}
从输入字段读取属性时丢失HTML编码
如果我理解正确,请尝试对数据调用两次htmlEncode():
htmlEncode("©")
将生成©
,浏览器将其渲染为©
。
但是htmlEncode(htmlEncode("©"))
将返回&copy;
,浏览器将其渲染为©
,从而为您提供实际的HTML源代码,并适当地转义以供显示。
相关文章:
- 在JavaScript中输出转义字符
- Javascript-正则表达式,用于在未转义字符上拆分字符串,例如|,但忽略|
- 在输入中添加打断html的字符
- 附加 HTML 转义文本:jQuery
- 如何在javascript中替换HTML特殊字符
- 如何将 html 特殊字符转换为普通 HTML
- 带有Ajax请求的Javascript JSON.parse函数n〃;新行转义字符
- 将文本和html unicode字符添加到textarea元素中
- Javascript/PHP中的HTML转义/编码
- Php在csv输出文件中插入转义字符
- TinyMCE 3.x仅在IE中转义字符
- 如何使用Javascript为JSON转义字符
- 带有转义字符的Javascript子字符串
- 阻止自动HTML特殊字符编码
- 包括一个带有innerHTML转义字符的脚本
- innerhtml 忽略了 HTML 转义字符
- HTML源字段还将HTML代码更改为转义字符
- HTML页面中字符串中的转义字符
- 我可以在 JavaScript 中转义 HTML 特殊字符吗?
- 在两个页面之间传递带有html特殊字符的转义查询字符串