PHP/Javascript 用 ' 插入 html和”从 PHP 到 javascript 函数

发布于 2024-10-20 09:53:34 字数 268 浏览 1 评论 0原文

我在数据库中有 HTML,我想用 Facebox(jquery 弹出窗口)显示它。 我使用下面的 PHP 代码来渲染启动 Facebox 的按钮

$html.="<img onclick='$.facebox(\"".$db_data[html]."\");' src='img.png' />";

我怎样才能正确地转义,以便 Facebox 在 $db_data[html] 中也能得到 ' 和 " ? (例如,如果 html 包含样式?)

I have HTML in a database which I want to show with facebox (jquery popup).
I use the PHP code below to render the button that launches the facebox

$html.="<img onclick='$.facebox(\"".$db_data[html]."\");' src='img.png' />";

How can I escape things properly so that facebox will get also ' and " in $db_data[html]?
(for example if the html includes styles?)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

请叫√我孤独 2024-10-27 09:53:34

使用 json_encode 将字符串正确转换为 JavaScript 兼容字符串,并 htmlspecialchars 对它进行编码以便在 HTML 属性值中使用:

"<img onclick='" . htmlspecialchars("$.facebox(".json_encode($db_data['html']).");", ENT_QUOTES) . "' src='img.png' />"

注意引号样式的使用 ENT_QUOTES 还对用于引用属性值的 ' 进行编码。如果您使用 " 作为 HTML 属性值,则不需要这样做:

'<img onclick="' . htmlspecialchars("$.facebox(".json_encode($db_data['html']).");") . '" src="img.png" />'

Use json_encode to convert the string properly to a JavaScript compatible string and htmlspecialchars to encode it for the use in an HTML attribute value:

"<img onclick='" . htmlspecialchars("$.facebox(".json_encode($db_data['html']).");", ENT_QUOTES) . "' src='img.png' />"

Note the use of the quote style ENT_QUOTES to also encode ' that are used to quote the attribute value. This wouldn’t be necessary if you would use " for the HTML attribute value instead:

'<img onclick="' . htmlspecialchars("$.facebox(".json_encode($db_data['html']).");") . '" src="img.png" />'
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文