gpt4 book ai didi

javascript - 如何在 javascript 中转义某些 html?

转载 作者:行者123 更新时间:2023-12-03 01:02:42 25 4
gpt4 key购买 nike

给定文本

<b>This is some text</b>

我想将其写入我的页面,以便它显示如下:

<b>This is some text</b>

不是这样的

这是一些文字

使用 escape("<b>This is some text</b>")在 Firefox 中给了我这个可爱的 gem

%3Cb%3EThis%20is%20some%20text%3C/b%3E

不完全是我想要的。有什么想法吗?

最佳答案

这应该适合您:http://blog.nickburwell.com/2011/02/escape-html-tags-in-javascript.html

function escapeHTML( string )
{
var pre = document.createElement('pre');
var text = document.createTextNode( string );
pre.appendChild(text);
return pre.innerHTML;
}

安全警告

该函数不会转义单引号和双引号,如果在错误的上下文中使用,仍然可能导致 XSS。例如:

 var userWebsite = '" onmouseover="alert(\'gotcha\')" "';
var profileLink = '<a href="' + escapeHtml(userWebsite) + '">Bob</a>';
var div = document.getElemenetById('target');
div.innerHtml = profileLink;
// <a href="" onmouseover="alert('gotcha')" "">Bob</a>

感谢buffer指出这个案例。摘自this blog post的片段.

关于javascript - 如何在 javascript 中转义某些 html?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5251520/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com