gpt4 book ai didi

php - htmlspecialchars 和 json 编码问题

转载 作者:行者123 更新时间:2023-11-30 06:09:37 25 4
gpt4 key购买 nike

我正在尝试格式化一些错误的 html 以输出到弹出窗口中。 html 存储在 mysql 数据库的一个字段中。

我一直在 php 中的行上执行 json_encode 和 htmlspecialchars,如下所示:

$html = htmlentities(json_encode($row2['ARTICLE_DESC']));

并调用我的 makewindows 函数,它只是将 html 作为参数并将其与 document.write 一起使用,如下所示:

  <p><a href='#' onclick=\"makewindows('".$html."'); return false;\">Click for full description </a></p>

这工作正常,因为生成了一些 html 代码,例如:

http://www.nomorepasting.com/getpaste.php?pasteid=22823&seen=true&wrap=on&langoverride=html4strict

粘贴在那里因为我不知道如何在 SO 中换行

问题是 htmlspecialchars 似乎没有去除坏的 html 数据,因为没有创建弹出窗口。我收到的 Firebug 错误是

参数列表后缺少 )

但是 html 不在我的控制范围内。

根据我所阅读的内容,我正在采取正确的步骤。如果我遗漏了什么,那是什么?

我的完整 make windows 函数:

function makewindows(html){
child1 = window.open ("about:blank");
child1.document.write(html);
child1.document.close();
}

最佳答案

您不应该在函数调用中使用单引号。它应该看起来像这样:

<p><a href='#' onclick=\"makewindows(" . $html . "); return false;\">Click for full description </a></p>

然后输出看起来像

<p><a href='#' onclick="makewindows(&quot;.....&quot;); return false;">Click for full description </a></p>

这是正确的。

关于php - htmlspecialchars 和 json 编码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/374152/

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