Хорошо, поэтому я использую php-файл simple_html_dom.php, найденный по адресу http://simplehtmldom.sourceforge.net/, для очистки веб-страниц, и я хотел бы создать вложенный список, отражающий структуру HTML-элементов страницы. , В конечном итоге я планирую инициализировать jsTree, используя этот список, но не могу пройти первый шаг. Я знаю, что есть простое прямое решение этого, но я не могу понять одно. Я часами искал в Интернете и, наконец, прибегнул к публикации здесь.
По сути, я хочу преобразовать это:
<body>
<div id='div0'>
<span id='span0'> <img id='img1'> </span>
</div>
<div id='div1'>
<span id='span1'> </span>
</div>
</body>
В это:
<ul>
<li>
div0
<ul>
<li>
span0
<ul>
<li>
img1
</li>
</ul>
</li>
</ul>
</li>
<li>
div1
<ul>
<li>
span1
</li>
</ul>
</li>
</ul>
Пример того, что я считаю правильным, может быть таким, но он генерирует: `
<li><li>`Fatal error: Call to a member function children() on a non-object in main.php on line 46
код:
include_once('simple_html_dom.php');
$html = file_get_html("http://www.thefuckingweather.com/");
function create($url)
{
print "<li>";
$count = 0;
foreach ($url as $chi)
{
if($chi->tag != "script")
{
if (count($chi->children()) > 0) //#46
{
create($chi->children($count));
}
else
{
print "</li>";
}
}
$count++;
}
}
create($html->find("body"));