我有以下代码:
$url = file_get_contents('url');
$webpage = new DOMDocument();
$webpage->loadHTML($url);
$tables = $webpage->getElementsByTagName('table');
echo $tables->item(3)->nodeValue;
当我回应该方法从网页获得的第三个表时,我可以看到没有html标签,但我需要它们,因为<tr>
标签具有我在获取元素后正在处理的信息
我一直在寻找解决方案,也许是来自php.net的NodeList类的一些属性,但我什么都没有。
答案 0 :(得分:0)
这是一个可以用来获取节点的html内容的函数:
function innerHTML(DOMNode $node)
{
$doc = new DOMDocument();
foreach ($node->childNodes as $child) {
$doc->appendChild($doc->importNode($child, true));
}
return $doc->saveHTML();
}
答案 1 :(得分:0)
DOMNode DOMNodelist::item ( int $index )
需要索引作为参数。索引从0开始。所以第三个应该是索引2.
您可以递归获取内容,例如使用此PHP Manual User Note。