Простые DOM и <li>

Я пробовал это несколько разных способов, и ничего не работает. (Я пробовал все примеры в том, как имитировать дочерний селектор с помощью Simple HTML DOM? ) Используемый код как есть, изменяя то, что мне нужно для моих потребностей, то есть class = xxx и url.

Поэтому я пытаюсь вытащить некоторую информацию с веб-страницы. Нет детей для работы с DOM, и использование метода xpath не принес мне ничего. Я предполагаю, что я делаю что-то неправильно.

<div id="wpp-6" class="widget popular-posts"> <div class="widget_title">POPULAR</div><!-- WordPress Popular Posts Plugin v2.3.2 [Widget] [daily] [regular] --> <ul> <li> <a href="http://link.html" title="Title of post" class="wpp-post-title">THE DATA I WANT</a> <span class="post-stats"></span> </li> <!-- More lists --> </ul> </div> 

После этого есть еще около 9 списков. Какие-либо предложения?

Related of "Простые DOM и <li>"

Используя PHP Simple HTML DOM Parser, вы можете сделать это легко, просто скачайте файл simple_html_dom.php отсюда и используйте его следующим образом.

 include('simple_html_dom.php'); $html=file_get_html('http://psfk.com'); foreach($html->find('div#wpp-6 ul li a') as $a){ echo $a->innertext.'<br />'; } в include('simple_html_dom.php'); $html=file_get_html('http://psfk.com'); foreach($html->find('div#wpp-6 ul li a') as $a){ echo $a->innertext.'<br />'; } 

Результат будет (протестирован в понедельник 14 января 2013 г.)

Карта Google Flu отображает худшие вспышки в США

Скотч-ленточные портреты Контурные человеческие лица [Фотографии]

Новый дизайн для девятнадцати восьмидесяти четырех лет Оруэлла Тема цензуры

Водка, сделанная из фильтрации спиртного напитка с обнаженными моделями [Видео]

Samsung Debuts Гибкие экраны

McDonald's меняет свое название в Австралии

Прозрачный экран Samsung – это розничное окно будущего [CES]

Dita Von Teese выказывает QR-коды прямо в ее одежду

Abercrombie & Fitch Boss заставляет пассажиров выполнять только боксеры и сандалии на частном самолете

Mirror App показывает женщинам, как они будут возрастом, если они будут пить

Если вы хотите напечатать заголовок со link например <a>...</a> просто используйте echo $a

Прошло некоторое время с тех пор, как я использовал xpath, так вот мое решение. Вы можете проходить дерево DOM таким образом, проверяя id и класс нужного элемента

 <?php error_reporting(0); //needed because of invalid xml $url = "http://www.psfk.com"; $xml = new DOMDocument("1.0", 'UTF-8'); $str = file_get_contents($url); // Load the url's contents into the DOM $xml->loadHTML($str); //Loop through all divs in the dom until we find what we need foreach($xml->getElementsByTagName('div') as $div) { if($div->getAttribute('id') == 'wpp-6' && $div->getAttribute('class') == 'widget popular-posts') { if($div->parentNode->getAttribute('id') == 'right') { foreach($div->getElementsByTagName('li') as $li) { foreach($li->getElementsByTagName('a') as $link) { echo $link->textContent . "<br>";; } } } } } ?>