如何用其他符号/转义文本替换转义文本?

时间:2015-03-09 21:26:59

标签: javascript

所以我需要替换转义文本; & gt和& lt在字符串中加到[]和<> 例如

如果我有

/&/lt;a href=/&/quot;google.com/&/quot;/&/gt; google /&/lt;/a/&/gt;

我想将其转换为[< google.com>谷歌]它将作为一个链接。

这是我的escapeText函数,用于转换内容,即用户输入的文本:

var escapeText = function(html) {
    var result = String(html)
    .replace(/&/g, '&')
    .replace(/</g, '&lt;')
    .replace(/>/g, '&gt;')
    .replace(/"/g, '&quot;');
    if (result === '' + html) return html;
    else return result;
}
content = escapeText(content);

如果有人可以提供帮助,我们将不胜感激!

1 个答案:

答案 0 :(得分:0)

执行此操作的一种(相当奇怪的)方法是将文本分配给DOM节点的innerHTML,然后返回innerText

var p = document.createElement('div');
p.innerHTML = '&lt;a href=&quot;google.com&quot;&gt; google &lt;a&gt;';
console.log(p.innerText);
// "<a href="google.com"> google <a>"