Ben bu soruya gelen öneri takip ediyorum Sağlam, Mature HTML Parser for PHP ile hatalı biçimlendirilmiş olabilir html ayrıştırma hakkında DOMDocument.
Çözümlü belge üzerinde döngü için kolay bir yolu var mı? Yani böyle html üzerinde döngü istiyorum.
$html='<ul>
<li>value1</li>
<li>value1</li>
<li>value3
<p>subvalue</p>
</li>
</ul>
<p>hello world</p>';
$doc = new DOMDocument();
$doc->loadHTML($html);
???
foreach (??? as $node)
{
print $node->nodeName.':'.$node->nodeValue;
}
Ve biraz bu gibi sonuçlar elde.
ul:
li:value1
li:value2
li:value3
p:subvalue
p:hello world
$doc->childNodes
kendisi tarafından kullanılması gerçekten ne istediğinizi yapmaz. O ağacın alt dalları aşağı gitmek için görünmüyor çünkü. I halfdan tarafından önerilen kodu kullanılmış ve bu gibi sonuçlar elde.
html:
html:value1
value1
value3
subvalue
hello world