post_content中的str_replace,使用php增加值

时间:2015-02-03 12:37:29

标签: php wordpress

$selected_publications = $post->post_content;

$ii = 0;

$getLi = array("<li>","</li>");

$replaceLi   = array("<li><div>$ii</div><p>","</p></li>"); 

$selectedPublications = str_replace($getLi, $replaceLi, $selected_publications);

echo $selectedPublications;

由于这个原因,有一个不可数的li标签,这个循环for($ii=0; $ii <= 10; $ii++)限制为10 li标签,我认为如果li标签5,它将循环5次。如果15 li标签,它将循环15次。我认为for($ii=0; $ii <= 10; $ii++)不是我问题的实际解决方案。

2 个答案:

答案 0 :(得分:0)

这应该可以解决您的问题

$selected_publications = "<li>some data</li>";
for($ii=0; $ii <= 10; $ii++)
{
$getLi = array("<li>","</li>");
$replaceLi   = array("<li><div>$ii</div><p>","</p></li>"); 
$selectedPublications = str_replace($getLi, $replaceLi, $selected_publications);

echo $selectedPublications;
}

另一种方法,你可以这样做来显示每个项目的数量就像这样

echo '<ul>';
$selected_publications = "<li style='list-style-type: none;'>some data</li>";
for($ii=0; $ii <= 10; $ii++)
{
$i=$ii;
$getLi = array("<li>","</li>");
$replaceLi   = array("<li><div>$ii</div><p>","</p></li>"); 
$selectedPublications = str_replace($getLi, $replaceLi, $selected_publications);

echo $i.' '.$selectedPublications;
}
echo '</ul>'; 

忽略它添加的html和样式,让我的眼睛看起来更好。

$ ii&lt; = 10是条件语句,可以更改为$ ii&gt; 0反过来会循环所需的次数。

答案 1 :(得分:0)

$selected_publications = $post->post_content;
$pieces = explode("</li>", $selected_publications); 
$selectedPublication[]='';  
for($i=0;$i<count($pieces);$i++){       
$getLi = array("<li>","</li>");
$ii = $i+1;
$replaceLi   = array("<li><div>$ii</div><p>","</p></li>");              
$selectedPublication[$i] = str_replace($getLi, $replaceLi, $pieces[$i]);
    echo $selectedPublication[$i];      
}

我已经解决了上述问题。