Из приведенного html:
<table width=250 border=0 cellspacing=0 cellpadding=0 bgcolor=#F9F400>
Вам необходимо выбрать таблицу, для которой bgcolor
равно #F9F400
.В настоящее время вы выбираете элементы td
, которые имеют цвет фона.Чтобы получить таблицу, попробуйте:
$table = $html->find('table[bgcolor=#F9F400]', 0);
0
означает, что вы хотите получить первый результат, в противном случае вы получите возвращенный массив.Затем вы можете echo
таблицу, которая автоматически преобразует объект в строку;
echo $table;
Если вы хотите получить все элементы td
внутри таблицы:
$tds = $table->find('td');
Обратите внимание, что это вернет массив, и поэтому вам придется циклически просматривать их, чтобы напечатать их содержимое.Подобно тому, что вы написали, вы можете сделать это так:
// get all tds of table with bgcolor #F9F400
$tds = $html->find('table[bgcolor=#F9F400] td');
foreach ($tds as $td) {
// do what you like with the td
echo $td;
}