gpt4 book ai didi

javascript - 在javascript中取消转义&符号

转载 作者:搜寻专家 更新时间:2023-11-01 04:52:56 24 4
gpt4 key购买 nike

我无法正确显示包含转义字符的值(即撇号存储为 \' 而不是 ' 并且方括号是 &gt;&lt; 而不是 >< )。

存储在我的数据库中的项目分别将字符 ( ' < > ) 转义为 ( \' &lt; &gt; )。当我尝试使用 JavaScript 将它们动态添加到页面时,它们在 Firefox 中以转义形式打印出来,而不是像在 IE 中那样返回到它们的正常值( &lt; 被打印到 HTML 而不仅仅是 < )。

<html>
<head>
<script type="text/javascript">
$(document).ready(function() {
var str = "&gt;";
$(document.body).html(str);
});
</script>
</head>
<body>

</body>
</html>

我知道如果我简单地进行替换,我可以正确打印,但是这样做,我允许注入(inject) HTML 代码,这就是我首先对字符串进行转义的原因。

添加:

首先,我对我最初的帖子中的错误表示歉意。经过仔细检查,在我使用 $().html() 的情况下,字符串打印正确。当我使用如下代码时,它们无法正确打印。

var str = "&gt;";
$('#inputField').val(str);

在这种情况下,显示的是文本“>”,而不是“>”。我可以做些什么来解决这个问题吗?

最佳答案

你需要像这样解码它们:

$('#myText').val($("<div/>").html(str).text());

演示:http://jsfiddle.net/QUbmK/

您也可以将解码部分移到函数中并改为调用它:

function jDecode(str) {
return $("<div/>").html(str).text();
}

$('#myText').val(jDecode(str));

关于javascript - 在javascript中取消转义&符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6697471/

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