Есть ли способ отобразить (с помощью PHP) все абзацы (HTML-страницы), которые принадлежат определенному классу? Я пробовал что-то подобное, но это не сработало (ничего не повторилось)
$dom = new DOMDocument;
$dom->loadHTML($html); //the code I need is contained in the $html variable
foreach($dom->getElementsByTagName('p') as $paragraph) {
if ( $paragraph->getAttribute('class') === 'items') {
echo $paragraph->nodeValue."<br>";
}
}
Резервное копирование того, что упоминает Призрак, лучше использовать strpos, если у вас более одного класса. Возьми это как пример.
<?php
$html = "<p class='items two small-font'>This is paragraph 1</p> <br> <hr> <p class='items'>This is paragraph 2</p> <br> <hr> <p class='noitem'>This is paragraph 3</p> <br> <hr>";
$dom = new DOMDocument;
$dom->loadHTML($html);
foreach($dom->getElementsByTagName('p') as $paragraph) {
$class = $paragraph->getAttribute('class');
if ( strpos( $class , 'items') !== false ) {
echo $paragraph->nodeValue."<br>";
}
}
?>
Других решений пока нет …