逃亡” HTML 标签上的 \ 不起作用
我的最终代码如下所示:
<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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要为每个上下文提供正确的转义函数。在 HTML 中,您确实需要
htmlspecialchars()
。双引号内的引号应为"
。 (带有反斜杠的常见 C 字符串转义在 HTML/XML/SGML 中不起作用。)通常您也需要 charset 参数:
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: