逃亡” HTML 标签上的 \ 不起作用

发布于 2025-01-03 13:13:43 字数 425 浏览 1 评论 0原文

我的最终代码如下所示:

<a href="/galleries/hairtinsels/hairtinsel/hairtinsels.jpg" rel="shadowbox[gallery]" title="Hair Tinsels, 24 Colour Choices, 36\" Long">

请注意 36\" 部分 - "\ 转义,所以它应该可以工作,对吧?不,在 Shadowbox 上,标题被截断,只写着:

发丝、24 种颜色选择、36\

这令人难以置信......有什么想法吗?

这是使用 PHP 中的 addslashes() 函数进行转义的 - 该画廊是由 PHP 循环数组生成的。

My final code looks like this:

<a href="/galleries/hairtinsels/hairtinsel/hairtinsels.jpg" rel="shadowbox[gallery]" title="Hair Tinsels, 24 Colour Choices, 36\" Long">

Note the 36\" part - the " is escaped with a \ so it should work, right? No, on shadowbox the title cuts off and just says:

Hair Tinsels, 24 Colour Choices, 36\

This is mind-boggling... any ideas?

This was escaped using addslashes() function in PHP - this gallery is generated by PHP looping through an array.

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

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

发布评论

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

评论(1

峩卟喜欢 2025-01-10 13:13:43

您需要为每个上下文提供正确的转义函数。在 HTML 中,您确实需要 htmlspecialchars()。双引号内的引号应为 "。 (带有反斜杠的常见 C 字符串转义在 HTML/XML/SGML 中不起作用。)

通常您也需要 charset 参数:

 htmlspecialchars($string, ENT_QUOTES, "UTF-8");
 // and ENT_QUOTES just in case you had single quote attributes

You need the right escaping function for each context. And within HTML, you do need htmlspecialchars(). The quote within double quotes should be ". (The common C string escapes with the backslash don't work in HTML/XML/SGML.)

Quite commonly you need the charset parameter too:

 htmlspecialchars($string, ENT_QUOTES, "UTF-8");
 // and ENT_QUOTES just in case you had single quote attributes
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文