[英]Javascript replacing HTML char code with actual character
我有一个HTML输入文本,其值从相关的div填充。 我的问题是div包含像&
它将正确地显示为div中的'&'
符号,但是当复制到文本框时,文本'&'
将被显示出来
我该如何转换&
到&
和'<'
到'<'
, ' '
到' '
???
因此,你要反转义 HTML实体 。 使用普通JS,您可以使用此代码段:
function unescapeHTML(html) {
var div = document.createElement("DIV");
div.innerHTML = html;
return ("innerText" in div) ? div.innerText : div.textContent; // IE | FF
}
并使用jQuery以下内容:
function unescapeHTML(html) {
return $("<div />").html(html).text();
}
但是,您也可以在将div的内容“复制”到input元素值的步骤中解决此问题。 而不是抓取HTML,只需抓取文本 。 取而代之的element.innerHTML
,那将是element.innerText
为IE或element.textContent
真正的浏览器。
不,你不能也不应该用正则表达式(可靠地)做到这一点。
我不确定您如何访问数据,但可能的解决方案可能是使用innerText
属性而不是innerHtml
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.