使用PHP的DOM获取div的内容

Cha*_*ink 7 php domdocument

我已经查看了有关此主题的其他Stackoverflow问题,并且那里提供的解决方案似乎都不适用于我.

我有一个html页面(刮了file_get_contents()),并且html是一个id为"main"的div - 我需要用PHP的DOMDocument或类似的东西获取该div的内容.对于这种情况,我不能使用SimpleHTMLDom解析器,这会使事情变得复杂.

hak*_*kre 6

DOMDocument + XPath变体:

$xml = new DOMDocument();
$xml->loadHtml($temp);
$xpath = new DOMXPath($xml);

$html = '';
foreach ($xpath->query('//div[@id="main"]/*') as $node)
{
    $html .= $xml->saveXML($node);
}
Run Code Online (Sandbox Code Playgroud)

如果您正在寻找innerHTML()(PHP DOMDocument参考问题) - 而不是innerXML()在此答案中 - 在此答案中给出了与xpath相关的变体.

这里采用变更下划线:

$html = '';
foreach ($xpath->query('//div[@id="main"]/node()') as $node)
                                          ######
{
    $html .= $xml->saveHTML($node);
                       ####
}
Run Code Online (Sandbox Code Playgroud)