Javascript 如何在JS中取消对HTML实体的浏览?(将<;更改为<;)

Javascript 如何在JS中取消对HTML实体的浏览?(将<;更改为<;),javascript,html,Javascript,Html,如何在JS中取消对HTML实体的浏览 当我在谷歌上搜索时,我真的看到了一个巨大的开关和人们自己滚动的答案 我想要字符串HTMLXMLNS=”http://www.w3.org/1999/xhtml“将成为这里是一个PHP函数的JS实现,该函数解码HTML实体 请注意,此功能还取决于: 创建一个div,将其设置为innerHTML,然后读取innerText var d = document.createElement("div"); d.innerHTML = "&lt;html xm

如何在JS中取消对HTML实体的浏览

当我在谷歌上搜索时,我真的看到了一个巨大的开关和人们自己滚动的答案


我想要字符串
HTMLXMLNS=”http://www.w3.org/1999/xhtml“
将成为

这里是一个PHP函数的JS实现,该函数解码HTML实体

请注意,此功能还取决于:


创建一个div,将其设置为
innerHTML
,然后读取
innerText

var d = document.createElement("div");
d.innerHTML = "&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; &gt;";
alert(d.innerText || d.text || d.textContent);

这段代码不起作用,但这确实是@acid——可能是跨浏览器的问题。Sky Sanders:奇怪的是,我在所有安装的浏览器(ie8、opera、safari、chrome)上都试用过它,除了我的主浏览器firefox 3.6之外,它都能正常工作。原来FF使用d.textContent(我是通过firebug找到的)@acid lolz。谢谢更新现在应该可以全面使用了。只需指出,空字符串为false-y,因此在任何浏览器中,如果最后一个表达式未定义,则将“”传递给该字符串将返回undefined,因为当所有其他测试失败时,它将落在那里。如果浏览器不支持elem.textContent,那么elem.text()的jQuery/Sizzle实现是非常重要的,因此正确的实现必须使用框架,显式检查空字符串,或者返回如下内容:(typeof d.textContent=='string')?d、 textContent:(d.innerText的类型=='string')?d、 innerText:d.text。混乱。已接受的答案存在安全问题()。要避免XSS漏洞,您应该使用。您可以在中看到代码示例。