我获得了一组代表URL链接的数据。例如:"doug'sfood.jpg"
。
我将这些字符串保存在一个数组中,然后随机选择它们以显示将它们插入到
中<img src="doug'sfood.jpg"></img>
Chrome推出的内容是:
<img src="doug'sfood.jpg"></img>
我尝试用php转义(\'
)撇号替换引号,但这只是过早地结束了引用。
有人能帮助我吗?感谢。
答案 0 :(得分:2)
我认为Chrome会自动转义未正确转义的字符。
始终使用:
<img src="quote'quote.jpg" alt="" />
而不是:
<img src="quote'quote.jpg" alt="" />
某些字符应始终以HTML格式转义,例如:
' -> '
& -> & or &
检查 htmlspecialchars()和 urlencode()函数,例如:
$string = "quote'quote.jpg";
echo htmlspecialchars($string, ENT_QUOTES);
// quote'quote.jpg
echo urlencode($string);
// quote%27quote.jpg
答案 1 :(得分:0)
无论如何,在打印出文件名标签时,请使用urlencode()
而不是依赖HTML转义或浏览器行为:
foreach ($img as $href) {
print '<img src="' . urlencode($href) . '" />';
}
在您的示例中,这将成为doug%27sfood.jpg
(AKA是正确的方法)。希望您的网络服务器可以找到它。