@C4H9I

Simple html dom parser — последовательность элементов на страничке?

Здравствуйте,
вопрос возможно простой, но у меня что-то не получается. Задача нужно спарсить страничку и выбрать с нее теги H2 и H3, с этим нет проблем. Но вывести их нужно так, чтобы была сохранена последовательность, то-есть если текст выглядит так:
<h2>Заголовок 1</h2>
....
<h3>Заголовок 1.1</h3>
...
<h3>Заголовок 1.2</h3>
...
<h2>Заголовок 2</h2>
...
<h3>Заголовок 2.1</h3>
...
<h2>Заголовок 3</h2>
...
<h3>Заголовок 3.1</h3>
...


Между заголовками конечно же текст, картинки и т.д.
Как получить на выходе данные с заголовками в последовательности их расположения на страничке:
(Заголовок 1, Заголовок 1.1, Заголовок 1.2, Заголовок 2, Заголовок 2.1)

Я делал несколько поисков по тегам h2 и h3 и получал последовательность h2 тэгов и h3 тэгов не связанных очередностью:
foreach($html->find('h2') as $h2Tag){
$htags['h2'][]=$h2Tag->plaintext;
}

foreach($html->find('h3') as $h3Tag){
$htags['h3'][]=$h3Tag->plaintext;
}
  • Вопрос задан
  • 119 просмотров
Решения вопроса 1
hzzzzl
@hzzzzl
$html->find('h2, h3') не даст массив со обоими тэгами вместе?

https://simplehtmldom.sourceforge.io/manual.htm#se...
// Find all anchors and images with the "title" attribute
$ret = $html->find('a[title], img[title]');
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы