Задать вопрос
@suhuxa1

Как с помощью php вырезать целый блок html?

Добрый день!
Получаю html код определенной странице. Внутри есть такая конструкция:
<div class="container">
  <div class="box">
    ..... (some code)
  </div>
  <div class="box">
    ..... (some code)
  </div>
  <div class="box">
    ..... (some code)
  </div>
  <div class="box">
    ..... (some code)
  </div>
</div>


Как можно вырезать весь блок container со всем содержимым? В голову приходят регулярные выражения, но я без понятия, как вырезать так, если заканчивается наш блок на </div>, но и перед этим тоже есть </div>.

Заранее благодарю!
  • Вопрос задан
  • 1060 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 2
Justique
@Justique
https://regex101.com/r/iIGpJV/1

$content = '<div class="container">
  <div class="box">
    ..... (some code)
  </div>
  <div class="box">
    ..... (some code)
  </div>
  <div class="box">
    ..... (some code)
  </div>
  <div class="box">
    ..... (some code)
  </div>
</div>';

preg_match("#<div class=\"container\">(.+?)\n<\/div>#is", $content, $res);

var_dump($res);
Ответ написан
doublench21
@doublench21
Зачем вы человеку советуете старьё, которое к тому же медленное???
https://github.com/Imangazaliev/DiDOM + там же документация на русском есть.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
webinar
@webinar Куратор тега PHP
Учим yii: https://youtu.be/-WRMlGHLgRg
Ответ написан
Комментировать
402d
@402d
начинал с бейсика на УКНЦ в 1988
https://habrahabr.ru/post/69149/
и не говорите, что старье ;) Для того кто работал с селекторами JQuery проще либы нет
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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