str_replace in post_content 使用 php 增加值

str_replace in post_content with increment value using php

$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++) 不是我的问题的实际解决方案。

这应该可以解决您的问题

$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 <= 10 是一个条件语句,它可以更改为类似 $ii > 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];      
}

我已经解决了上面的问题。