Надеюсь, что это возможно с Simple Html Dom, я очищаю страницу, которая выглядит следующим образом:
<h5>this is title 1</h5>
<img>
<img>
<img>
<h5>this is title 2</h5>
<img>
<img>
<h5>this is title 3</h5>
<img>
<img>
<img>
<img>
и т.д ...
Я пытаюсь заставить его выглядеть примерно так:
<h5>this is title 1</h5>
<img>
<h5>this is title 1</h5>
<img>
<h5>this is title 1</h5>
<img>
<h5>this is title 2</h5>
<img>
<h5>this is title 2</h5>
<img>
Что означает для каждого IMG, что мне нужно найти и взять первый предыдущий H5, я думаю. Там нет родительских элементов div или какой-либо структуры, чтобы сделать это проще, я описал это в значительной степени.
Код, который я использую, выглядит примерно так (упрощенно):
foreach($html->find('img') as $image){
//do stuff to the img
$title = $html->find('h5')->prev_sibling();
echo $title; echo $image;}
Все, что я пробовал с prev_sibling, дает мне «фатальную ошибку: вызов функции-члена prev_sibling () для необъекта», и мне интересно, возможно ли то, что я пытаюсь сделать, с помощью PHP Simple HTML Dom. Надеюсь, что все другие скребки, которые я пробовал, заставляли меня вырывать волосы.