PHP - 限制<ul> </ul> </li>中的<li>标签

时间:2011-03-16 13:10:38

标签: php

我有以下HTML输出;

<ul>
 <li>Test 1</li>
 <li>Test 2.</li>
 <li>Test 3</li>
 <li>Test 4</li>
 <li>Test 5</li>
 <li>Test 6</li>
 <li>Test 7</li>
</ul>

我需要做的是显示相同的HTML,但只有前4个<li>标签,即

<ul>
 <li>Test 1</li>
 <li>Test 2.</li>
 <li>Test 3</li>
 <li>Test 4</li>
</ul>

我可以通过PHP轻松实现这一目标吗?

由于

编辑:

数据来自:

$data = $product->getDescription();

它作为HTML内容存储在数据库中,我目前正在使用上面的代码显示它;

由于

4 个答案:

答案 0 :(得分:1)

嗯,是的..

根据数据的来源,我将假设它是某种类型的数据库,你将它放在一个数组()中:

$databasevalue = array(); //stuff from database goes here / dragons
echo "<ul>";

for ( $counter = 0; $counter < 4; $counter ++) {
  echo "<li>".$databasevalue[$counter]."</li>";
}

echo "</ul>";

如果没有更好的问题详情,就无法提供更多信息。

答案 1 :(得分:1)

数据是如何产生的?

如果此数据来自数组,您可以使用array_slice函数

对其进行切片
$list = array_slice($input, 0, 4);
// $list now only having first 4 item.

答案 2 :(得分:1)

<?php
echo '<ul>' . PHP_EOL;
for ($i = 1; $i <= 4; $i++)
{
  echo '<li>' . $i . '</li>' . PHP_EOL;
}
echo '<ul>' . PHP_EOL;
?>

输出:

<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<ul>

其他人回答好(需要SimpleXMLElement,PHP5),但已被删除:

<?php
$data = '<ul>
           <li>Test 1</li>
           <li>Test 2.</li>
           <li>Test 3</li>
           <li>Test 4</li>
           <li>Test 5</li>
           <li>Test 6</li>
           <li>Test 7</li>
         </ul>';


$ul = new SimpleXMLElement($data);

$li = $ul->li;

echo '<ul>'.PHP_EOL;
for($i = 0 ; $i < 4 ; $i++)
{
  echo '<li>'.$li[$i].'</li>'.PHP_EOL;
}
echo '</ul>'.PHP_EOL;
?> 

答案 3 :(得分:0)

如果您正在使用数据库,则应在SQL中使用“LIMIT”,否则array_slice将完成此任务。

不要忘记:文档是你最好的朋友(特别是在php中)