У меня возникла следующая проблема: я использую парсер PHP XML DOM, и когда я разбираю HTML в реальном мире, атрибуты «класса» многих элементов имеют в них пробелы, поэтому на самом деле существует несколько классов CSS для этих элементы. Однако, когда я запрашиваю DOMNode с getAttribute (), я получаю только первый класс.
Я также пробовал PHP simplehtmldom для той же цели, но к тому же результату.
Этот вопрос задавался здесь раньше, но на самом деле не ответил: PHP dom, чтобы получить класс тега с несколькими именами класса css
Это обходное решение не работает в моем случае. Любая помощь будет оценена 🙂
Другой вопрос содержит очень хороший пример того, что мне нужно сделать, если кто-то меня не понимает.
Вы можете попробовать это для примера в вопросе stackoveflow, с которым вы связались. Работает на меня:
$body = // the html $html = new DomDocument(); $html->loadHTML($body); $as = $html->getElementsByTagName('a'); foreach($as as $a) { if ($a->getAttribute('class')=='secondLink SecondClass') { // do something } }