每次我检查这段代码的HTML输出时,都不包括斜杠。因此,背景图像失败。我甚至把它通过一个HTML到PHP转换器。我迷路了;请帮忙。
while($row = mysql_fetch_array($data))
{
//Echo Theme Template on pages
echo "<div style='background-image:url('../uploads/avi/{$row['avi']}')></div>";
echo "<div class='myname'>{$me}</div>";
}
答案 0 :(得分:4)
最简单的答案是,你的样式属性有一个未闭合的'
..
echo "<div style='background-image:url('../uploads/avi/{$row['avi']}')'></div>";
这里^
但这不会有效..所以你应该调整这样的引号:
echo "<div style='background-image:url(\"../uploads/avi/{$row['avi']}\");'></div>";
你可以看到破碎的回声http://codepad.viper-7.com/CGMdUx
,已编辑的版本在http://codepad.viper-7.com/bEyKFz
我通过键盘上的htmlspecialchars传递了它,因此您可以将其视为字符串并避免呈现为HTML仅供查看之用。
答案 1 :(得分:0)
由于'
属性使用内部style
,您需要在内部使用双引号。
echo '<div style="background-image:url(\'../uploads/avi/' . $row['avi'] . "')></div>";
<强>结果强>
<div style="background-image:url('../uploads/avi/abc.efg')></div>
答案 2 :(得分:0)
这里你做错了两件事。您从未关闭样式标记的最终引号,并且使用style =''和url('')的单引号相互取消。
我建议始终对HTML标记使用双引号。
while($row = mysql_fetch_array($data))
//Echo Theme Template on pages
{
echo "<div style=\"background-image:url('../uploads/avi/{$row['avi']}');\"></div>";
echo "<div class='myname'>{$me}</div>";
}
要考虑的另一件事是,总是用Firebug或其他工具说“查看源代码”而不是“检查”。您没有看到打印出的URL的原因是新浏览器是“智能”并尝试修复DOM错误。使用Firebug或类似工具检查源代码将显示浏览器实际解释的内容。查看源代码将显示实际发送到浏览器的内容。