PHP echo在<ul> </ul>中创建额外的行

时间:2014-06-30 15:30:47

标签: php html

我对编码很陌生,而且我遇到了空白问题。我花了两天时间研究空白行,空白等文章,我找不到解决这个问题的方法。

我有PHP代码,它抓取我目录中文件的内容。我在HTML页面上输出这些变量,我让这些项目垂直滚动。基本上,它是一个垂直的新闻自动收报机。但我遇到了不规则的结果。在IE11中,一切都很完美。但是,在IE9中(最终用户将查看页面),带有回显PHP变量的列表组合会在每个“li”之间创建额外的行。所以,而不是5篇“文章”,我有9个。

通常情况下,我不会关心额外的空间,但新闻自动收报机会将额外的行视为“新闻”项目,并会暂停以供用户阅读该空白行。这似乎与通过“ul”调用php变量有关,但我找不到任何东西来删除这些额外的行。有没有遇到过这个?或者你知道我可以做些什么来解决?

<div id="content" class="block" style="float:left; position:relative; left:135px;">
<ul id="ticker">
    <li><?php echo $par1;?></li>
    <li><?php echo $par2;?></li>
    <li><?php echo $par3;?></li>
    <li><?php echo $par4;?></li>
    <li><?php echo $par5;?></li>
</ul>

源视图中的代码:

<!DOCTYPE html>
<html>
<head>

<style>

ul#ticker{
width:700px;
height:200px;
}

ul#ticker li{
font-family:Verdana;
font-weight:bold;
font-size:14px;
text-align:center;
width:700px;
height:200px;
margin:0px;
padding:0px;
border:0px;
display:block;
overflow:hidden;
}

</style>
</head>
<body>

<span style="float:left; left:10px; position:absolute; width:125px; text-align:right;"><b>Current Events:</b></span>
<div id="content" class="block" style="float:left; position:relative; left:135px;">
<ul id="ticker">
    <li><a href = "http://rss.cnn.com/~r/rss/money_latest/~3/VfqbYKimwZE/index.html" target="_blank">Bulgaria tries to contain bank run</li>
    <li><a href = "http://rss.cnn.com/~r/rss/money_latest/~3/EqRCj13Dabw/index.html" target="_blank">GM offers victims more than $1 million</li>
    <li><a href = "http://rss.cnn.com/~r/rss/money_latest/~3/g_ws27zfMkg/index.html" target="_blank">Stock market flirts with new records</li>
    <li><a href = "http://rss.cnn.com/~r/rss/money_latest/~3/iIm8fzJ9rWM/index.html" target="_blank">Enough with Millennials. Here's what Gen X thinks</li>
    <li><a href = "http://rss.cnn.com/~r/rss/money_latest/~3/x1GNhn8SwnM/index.html" target="_blank">Consumer Reports rates some Graco strollers "don't buy"</li>
</ul>
</div>

</body>
</html>

3 个答案:

答案 0 :(得分:1)

很难从你的描述中说出来。我建议也许在IE9中加载页面,然后查看源代码(如果你没有看到问题,可以在这里发布)。

此外,

  IE9中的

(最终用户将查看该页面)

你是真的吗?

答案 1 :(得分:0)

http://codepad.viper-7.com/lw0VuN

这是一个小提琴,显示它有效。最有可能的一个$par变量未定义。避免这种情况的最好方法是创建一个数组并使用foreach http://www.php.net/manual/en/control-structures.foreach.php,或检查它是否定义如下:

<?php if($par1) echo "<li>".$par1."</li>"; ?>

等等。希望这有帮助!

答案 2 :(得分:0)

我在IE中提取了开发人员工具,发现由于某种原因,我编写的代码是为每个新闻项创建一个辅助列表元素。但是,该列表元素仅包含&#34; a&#34;标记我的PHP变量的一部分,所以它不是真的空白,虽然它显然是这样出现的。

我不确定为什么会这样,但我改变了&#34; ul&#34;到div标签和&#34; li&#34;到p标签,现在它按照我想要的方式工作。唯一仍然让我失望的问题是为什么IE11忽略了仅包含&#34; a&#34;标签,但IE 9没有。但是,这不是我今天需要回答的问题。谢谢大家的帮助!