Я использую Simple HTML DOM для извлечения данных из HTML-документа, и у меня есть несколько проблем, с которыми мне нужна помощь.
В строке, начинающейся с if ($td->find('a'))
я хочу разделить href и содержимое узла привязки отдельно и поместить их в отдельные переменные. Код, однако, не работает (см. Вывод эха в коде ниже).
Каков наилучший способ сделать это? Обратите внимание, что моя цель – впоследствии создать документ XML из информации, поэтому мне нужна информация в правильном порядке.
Ссылки приводят к страницам, содержащим подробную информацию о разных автомобилях (например, «Макс. Скорость», «Цена» и т. Д.), Которые я также хочу извлечь и поместить в отдельные переменные. Как я могу получить данные на этих страницах?
<?php include 'simple_html_dom.php'; $html = new simple_html_dom(); $html = file_get_html('http://www.example.com/foo.html'); $items = array(); foreach ($html->find('table') as $table) { foreach ($table->find('tr') as $tr) { foreach ($tr->find('td') as $td) { if ($td->find('a')) { $link = $td->find('a.href'); echo $link; // empty $text = $td->find('a.text'); echo $text; // Array } else { echo 'Name: ' . $td; } } } }
HTML-документ выглядит следующим образом:
<div> <table> <tr> <td> <a href="car1.html" target="_blank">Car 1</a> </td> <td> Porsche </td> </tr> <tr> <td> <a href="car2.html" target="_blank">Car 2</a> </td> <td> Chrysler </td> </tr> ... and so on...