繁体   English   中英

Javascript用实际字符替换HTML char代码

[英]Javascript replacing HTML char code with actual character

我有一个HTML输入文本,其值从相关的div填充。 我的问题是div包含像& 它将正确地显示为div中的'&'符号,但是当复制到文本框时,文本'&' 将被显示出来

我该如何转换&amp; &'&lt;' '<''&nbsp;' ' ' ???

因此,你要反转义 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM