очистка веб — PHP Simple HTML DOM Parser: как получить содержимое родительского div, содержащего & lt; h1 & gt; теги?

Я очищаю (используя PHP простой HTML DOM) ряд различных (новостных) сайтов с целью получения основного контента / основной части текста на странице.

Чтобы сделать это наилучшим способом, который я мог выяснить, было найти основной заголовок / заголовок (H1) и получить текст, содержащийся в том же элементе div, что и этот тег заголовка.

Как бы я мог получить содержимое целого (родительского?) Div, в обоих примерах ниже.

<div>  <----- need to get contents of this whole div (containing the h1 and likely the main body of text)
<h1></h1>
main body of text here
</div>

Div может быть дальше вверх по дереву.

<div> <----- need to get contents of this whole div
<div>
<h1></h1>
</div>

<div>
main body of text here
</div>
</div>

Разделись еще дальше вверх по дереву.

<div> <----- need to get contents of this whole div
<div>

<div>
<h1></h1>
</div>

<div>
main body of text here
</div>

</div>
</div>

Тогда я мог бы сравнить размер каждого и определить основной div.

0

Решение

Предполагая, что $ e содержит выбранный вами элемент H1. Вы можете вызвать $ e-> parent (), чтобы получить родительский элемент.

Смотрите в разделе «Как пройти дерево DOM?» на вкладке «Обход дерева DOM». http://simplehtmldom.sourceforge.net/manual.htm

1

Другие решения

Ты можешь использовать parent чтобы получить родительский элемент h1:

# assuming that the <h1> element is the first <h1> on the page:
$div = $html->find('h1', 0)->parent();
2

По вопросам рекламы [email protected]