@maxelende

Почему появляется лишний тег в конце?

Функция вставляет блок, в данном случае $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);
  • Вопрос задан
  • 218 просмотров
Решения вопроса 1
alsopub
@alsopub
Потому что после расстановки "параграфов" у вас получается news1news2news3. Далее вы разбиваете эту строку по "" и получаете 4 элемента - три новости и "" (пустая строка).
Вот эта пустая строка + echo "" и делает то о чем вы спрашиваете.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы