выберите только определенные классы в HTML-файле, используя getElementsByTagName - PullRequest
1 голос
/ 19 ноября 2011

У меня большой html-файл, преобразованный из файла .doc, из которого я пытаюсь разобрать информацию и поместить в базу данных.HTML-документ состоит из заголовков, которые все

Я пытаюсь сделать это через DOMDocument, однако я открыт, чтобы попробовать другой метод.

Я обнаружил, что не могу использовать $dom->getElementsByTagName('span class="c1 c4"'),Есть ли способ использовать эту функцию для выбора определенных классов?

1 Ответ

4 голосов
/ 19 ноября 2011

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