2

每次我检查这段代码的 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>"; 
}
4

3 回答 3

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 ..

于 2013-05-08T19:10:17.970 回答
0

由于属性'使用了inner,所以style需要在里面使用双引号。

echo '<div style="background-image:url(\'../uploads/avi/' . $row['avi'] . "')></div>";

结果

<div style="background-image:url('../uploads/avi/abc.efg')></div>
于 2013-05-08T18:58:07.697 回答
0

你在这里做错了两件事。您从未关闭 style 标记的最终引号,并且 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 或类似工具检查源代码将显示浏览器实际解释的内容。查看源将显示实际发送到浏览器的内容。

于 2013-05-08T19:14:53.040 回答