0

我能够使用 getElementByTagName 从 html 文件中解析标签。但我也想解析该html文件中存在的id和类名......

这是我尝试过的:-

    $html = new DOMDocument();
    $html->loadHTMLFile($url); //url is the url of the site
    $data = $html->getElementById($identifier); //identifier is the id
    $value = array();

    foreach($data as $element)
    {
        $value[] = $element->nodeValue."<br />";
    }
    print_r($value);

但是当我使用 getElementById 时,我只是将输出作为数组()。我无法解析数据。你也能告诉我如何获取 id 和 classname 值吗?

4

2 回答 2

1

我知道一个很棒的工具 php query phpquery

phpQuery::newDocumentFileXHTML('my-xhtml.html')->find('#hello');

在这里您可以找到 示例

或者你可以使用 xpath 它也很好xpath

于 2013-03-01T09:31:01.970 回答
1

无需执行 foreach 循环,因为只能有一个具有给定 ID 的元素:

$doc = new DOMDocument();
$doc->loadHTMLFile('http://stackoverflow.com/questions/15154290/parsing-the-ids-and-classnames-from-a-html-file');

$element = $doc->getElementById('question');
if (!is_null($element)) {
    echo $element->getAttribute('class');
}
于 2013-03-01T09:35:13.330 回答