Задать вопрос
@easy_katka

Почему PHP Simple HTML DOM Parser берет только текст из ячейки таблицы?

Делаю парсинг таблицы с одного сайта, в одном из столбцов таблицы есть текст которые как ссылка вида

<td class=""><a href="/lang/info/pdf/длиный код" target="_blank">PDF</a></td>


После парсинга выводится только текст без контента, мой код

$url = 'site.com';
 include 'simple_html_dom.php';
$html = file_get_html($url);
$table = $html->find('table', 0);
$rowData = array();

foreach($table->find('tr') as $row) {
    // initialize array to store the cell data from each row
    $flight = array();
    foreach($row->find('td') as $cell) {
        // push the cell's text to the array
        $flight[] = $cell->plaintext;
    }
    $rowData[] = $flight;
}
  • Вопрос задан
  • 154 просмотра
Подписаться 2 Средний Комментировать
Решения вопроса 1
neuotq
@neuotq
Прокрастинация
В строке
$flight[] = $cell->plaintext;
Вы используете метод plaintext который очищает все теги, ну и для этой ячейки должен вернуть текст 'PDF'.
Не совсем ясно что вам нужно? Если нужно дополнительно разбирать и другие вложенные html элементы, то нужно усложнять вашу логику, добавлять условия. Вот из той же документации, добавляете вложенные циклы для того же тега a и из него уже парсите href если вам нужно отдельно. И тд и тп.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы