Функция вставляет блок, в данном случае $block, после определенного абзаца текста.
Все работает нормально, но после ее выполнения, если посмотреть код страницы, то в конце двойной тег
</p></p>
.
Как исправить, чтобы остался только один тег
</p>
?
$content = "В Мичуринске завершился 21-й городской фестиваль «Студенческая весна», который традиционно собрал самую талантливую молодёжь города в гостеприимном зале ДК «Авангард».
Жюри по традиции было тамбовско-мичуринским. Наукоград представляли знатоки вокала Лариса Артюшкова и Анатолий Горбачёв, а также Татьяна Смагина, Дмитрий Фролов и Дмитрий Свиридов.
«Студенческая весна-2016» показала, что уровень студенческой самодеятельности в нашем городе несколько снизился. Особенно тяжёлая ситуация в мужском вокале и вокальных группах.";
$block = "<div>РЕКЛАМА</div>";
function block_in_content($after_p, $content, $block)
{
$content = preg_replace('/[^\r\n]+/', "<p>$0</p>", $content);
if(substr_count($content, '<p>') >= $after_p)
{
$num_p = explode("</p>", $content);
$p_count = 1;
foreach($num_p as $content)
{
echo $content;
echo "</p>";
if($p_count == $after_p)
{
echo $block;
}
$p_count++;
}
}
else
{
echo $content;
}
}
block_in_content(2, $content, $block);