PHP Simple Dom - цикл по одному классу за раз?
Есть какой-либо способ сделать это? в настоящее время я использую этот метод, чтобы пройти через td для каждой таблицы в записи википедии, которая имеет класс wikitable.
foreach ($html->find('table.wikitable td') as $key => $info)
{
$text = $info->innertext;
}
Тем не менее, я хочу иметь отдельные циклы для каждой таблицы, которые разделяют имя класса wikitable. Я не могу понять, как это сделать.
Есть ли какой-то синтаксис? Я хочу сделать что-то подобное
$first_table = $html->find('table.wikitable td', 0); // return all the td's for the first table
$second_table = $html->find('table.wikitable td', 1); // second one
1 ответ
Решение
Я не совсем понимаю ваш вопрос, но кажется, что $html->find
просто возвращает массив, в вашем случае массив таблиц:
$tables = $html->find('table.wikitable');
Затем вы можете перебрать свои таблицы и найти значения в каждой таблице:
foreach( $tables as $table )
{
$tds = $table->find('td');
foreach( $tds as $td )
{
...
}
}
Если вы хотите настроить таргетинг только на вторую таблицу, вы можете использовать:
$table = $tables[1];
Или что-то типа того.