没有 htmlentities 的 createTextNode

Posted

技术标签:

【中文标题】没有 htmlentities 的 createTextNode【英文标题】:createTextNode without htmlentities 【发布时间】:2011-09-10 03:07:58 【问题描述】:

考虑以下 sn-p:

var t = "<span>Hello world</span>";
var range = window.getSelection().getRangeAt(0);
range.deleteContents();
range.insertNode(document.createTextNode(t));

如何避免将 t 替换为 htmlentities?

【问题讨论】:

【参考方案1】:

通过不创建文本节点。请改用range.pasteHTML。

【讨论】:

谢谢!它在 Firefox 中不起作用,但我发现这个功能可以完成这项工作:groups.google.com/group/google-ajax-discuss/browse_thread/…【参考方案2】:

不要使用文本节点。

var t = document.createElement('span');
t.textContent = 'Hello world';
var range = window.getSelection().getRangeAt(0);
range.deleteContents();
range.insertNode(t);

【讨论】:

以上是关于没有 htmlentities 的 createTextNode的主要内容,如果未能解决你的问题,请参考以下文章

如何反转htmlentities()?

htmlentities 将商标转换为†[重复]

php htmlentities和htmlspecialchars 的区别

153-PHP htmlentities函数

htmlentities() 是不是足以创建 xml 安全值?

PHP htmlentities 和 htmlspecialchars的区别