im, используя простой анализатор html dom, чтобы получить ломать некоторые данные из строки html.
мне нужно вернуть значения TD из таблицы с определенным классом css каждый TD как элемент массива
я пробовал эту треску, но она дает фетальную ошибку
<?php include('classes/simple_html_dom.php'); $html = str_get_html('<table class="pages_navigator"> <tr> <th style="width:50px;">ID </th> <th>Business </th> <th style="width:70px;">Category</th> <th style="width:50px;">Phone </th> <th style="width:70px;">State</th> <th style="width:70px;">City</th> <tr class="users_tr"> <td>3571</td> <td>Premium GD</td> <td>2063199876</td> <td>Washington</td> <td>Seattle</td> <td>3703</td> </tr> </table>'); $tds = $html->find('table.pages_navigator')->find('td') ; print_r($tds); ?>
то я попробовал
<?php include('classes/simple_html_dom.php'); $html = str_get_html('<table class="pages_navigator"> <tr> <th style="width:50px;">ID </th> <th>Business </th> <th style="width:70px;">Category</th> <th style="width:50px;">Phone </th> <th style="width:70px;">State</th> <th style="width:70px;">City</th> <tr class="users_tr"> <td>3571</td> <td>Premium GD</td> <td>2063199876</td> <td>Washington</td> <td>Seattle</td> <td>3703</td> </tr> </table>'); $result = array(); foreach($html->find('tr.users_tr') as $e){ $result[] = $e->plaintext . '<br>'; } print_r($result); ?>
в<?php include('classes/simple_html_dom.php'); $html = str_get_html('<table class="pages_navigator"> <tr> <th style="width:50px;">ID </th> <th>Business </th> <th style="width:70px;">Category</th> <th style="width:50px;">Phone </th> <th style="width:70px;">State</th> <th style="width:70px;">City</th> <tr class="users_tr"> <td>3571</td> <td>Premium GD</td> <td>2063199876</td> <td>Washington</td> <td>Seattle</td> <td>3703</td> </tr> </table>'); $result = array(); foreach($html->find('tr.users_tr') as $e){ $result[] = $e->plaintext . '<br>'; } print_r($result); ?>
последний работал хорошо, но он приносит все TD; s как одну строку без каждого td в качестве элемента массива? Результат var_dump
Array ( [0] => 3571 Premium GD 2063199876 Washington Seattle 3703 )
Измените свой запрос
foreach($html->find('tr.users_tr') as $e){
в
foreach($html->find('tr.users_tr td') as $e){
Это должно позволить вам перебирать все td вместо того, чтобы получать простой текст всей строки.