2011-11-18 30 views
1

我有一个很大的HTML文件转换成.doc文件,我试图解析信息并放入数据库。这个html文件包含所有的头文件使用getElementsByTagName只在HTML文件中选择某些类

我想通过DOMDocument做到这一点,但是我打开试着尝试另一种方法。

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

+0

不与方法 - 它是所有通过标记名称获取元素,而不是类名称。 – BoltClock

回答

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"]');