如何在php DOMDocument类中通过ID获取元素?

时间:2011-01-05 18:40:12

标签: php class domdocument

我正在尝试使用PHP中的DOMDocument类解析HTML文件 示例HTML文件是

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
    <head>
        <title></title>
    </head>
    <body>
        <p id="myparagraph"></p>
    </body>
</html>

我用

加载它
$document = new DOMDocument();
$document->loadHtmlFile("page.html");

现在我尝试以这种方式获取p元素

print_r($document->getElementById("myparagraph"));

由于某种原因,这不起作用。那有什么不对呢?

1 个答案:

答案 0 :(得分:1)

根据PHP documentation中的注释,getElementById并没有那么好用。你能做的就是创建你自己的功能:

function getElementById($id)
{
    $xpath = new DOMXPath($this->domDocument);
    return $xpath->query("//*[@id='$id']")->item(0);
}

感谢paradox_haze,他在PHP文档的评论中发布了这些信息。