Как использовать simplehtmldom для разбора и поиска таблицы - PullRequest
0 голосов
/ 09 ноября 2011

У меня есть этот набор html-таблицы <table width=250 border=0 cellspacing=0 cellpadding=0 bgcolor=#F9F400>, в котором также есть больше тегов td и tr с тегами <tr>.

, и у меня есть это PHP-выражение echo $html->find(''table td[bgcolor=#F9F400]');

, нотам ничего не отражено и нет зарегистрированных ошибок, это неправильный способ сделать это?Я хотел бы отобразить всю таблицу как есть.

1 Ответ

0 голосов
/ 09 ноября 2011

Из приведенного 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;
}
...