我有以下html
$html = '<body><div style="font-color:#000">Hello</div>
<span style="what">My name is rasid</span><div>new to you
</div><div style="rashid">New here</div></body>';
$dom = new DOMDocument();
$dom->loadHTML($html);
$elements = $dom->getElementsByTagName('body');
我试过了
foreach($elements as $child)
{
echo $child->nodeName;
}
输出是
body
但我需要遍历 body 下的所有标签,而不是 body。我该怎么做。
我也在上面的例子中尝试过替换
$elements = $dom->getElementsByTagName('body');
与
$elements = $dom->getElementsByTagName('body')->item(0);
但是它给出了错误。有什么解决办法吗??
最佳答案
试试这个
$elements = $dom->getElementsByTagName('*');
$i = 1; //counter to output from 3rd one, since foreach loop below will output" html body div span div div"
foreach($elements as $child)
{
if ($i > 2) echo $child->nodeName."<br>"; //output "div span div div"
++$i;
}
关于php - 如何遍历 PHP DOMDocument 标签下的所有 Childs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15697288/