使用getElementsByTagName仅选择html文件中的某些类

时间:2011-11-18 21:39:06

标签: php domdocument

我有一个从.doc文件转换的大型html文件,我试图解析信息并将其放入数据库。 html文档包含所有

的标题

我试图通过DOMDocument来做到这一点,但我愿意尝试另一种方法。

我发现我不能使用$dom->getElementsByTagName('span class="c1 c4"'),有没有办法使用这个函数来选择特定的类?

1 个答案:

答案 0 :(得分:4)

gEBTN()仅检索标记名称。你必须循环返回返回的元素列表并测试每个元素的类:

$nodes = $dom->getElementsByTagName('span');
foreach($nodes as $node) {
    $classes = $node->getAttribute('class');
    ... test for your css classes ...
}

但是,使用XPath,这更容易:

$xp = new DOMXPath($dom);
$nodes = $xp->query('//span[@class="c1 c4"]');