Как программно вставить блок после тегов в тексте?

Приветствую!

Есть довольно тривиальная задача — добавлять программно блоки после тега </p>, до <h2> и после </h2>.

Всё нормально работает для вставки блока после параграфа

$content = explode("</p>", $content);

$i = 0;

foreach ($content as $paragraph) {
    
  if ( $i >= 0 ) { 
    print $content[$i] . "</p>" . "div id=block-" . $i ."/div";
  }
  
  $i++;
  
}


Пытался сделать по аналогии <h2> и </h2> не выходит. Что я не так сделал? Вообще, верно ли выбран подход?

А для <img>, если я правильно понимаю, требуется регулярное выражение?
  • Вопрос задан
  • 77 просмотров
Пригласить эксперта
Ответы на вопрос 2
dollar
@dollar
Делай добро и бросай его в воду.
Как вам такая идея.
Все три тега совмещаем в одном цикле.
На каждой итерации ищем следующий тег с помощью strpos. То есть выполняем три поиска (по одному для каждого тега), затем берем ближайшую позицию - и с ней уже работаем. Следующей поиск от этой позиции.
Ответ написан
romanko_vn
@romanko_vn
"div id=block-" . $i ."/div"

это не смущает?
Ответ написан
Ваш ответ на вопрос

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

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