gpt4 book ai didi

javascript - 从 php json_encode 到 jquery 解码

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

我使用众所周知的“hack”(json 编码函数)来防止某些字符弄乱我的 html,我从 API 接收一个可以包含单引号或双引号(以及其他特殊字符)的描述字段。所以:

<div class="someThing" data-fulldescription=<?=json_encode($textFromApi);?>>
...
</div>

现在我使用 jquery 读取该数据字段,然后将其打印在 div 中:

$('#brand-modal-content').html($(this).parents('.someThing').data('fulldescription'));

问题是,引号现在由 PHP 函数编码,并且某些字符被“\u00e8”或“\u00f9”替换,有没有办法使用 jquery 重新格式化文本?

最佳答案

您正在以非常错误(甚至不安全)的方式将内容注入(inject) HTML。改为这样做:

data-fulldescription="<?=htmlspecialchars(json_encode($textFromApi));?>"

这样,无论里面有什么,JSON 都会被正确编码并安全注入(inject);然后,你可以像这样解码它:

var decoded = JSON.parse($(this).parents('.someThing').data('fulldescription'));

这些步骤的组合将完美地保留 JSON,无论它代表什么(如果您假设它是一个字符串,您可以采取捷径,但为什么不总是 100% 安全呢?)。然后您可以使用解码后的值执行任何您想要的操作。

关于javascript - 从 php json_encode 到 jquery 解码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25625002/

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