Используйте PHP Simple DOM Parser для фильтрации указанного c текста из HTML Таблицы - PullRequest
0 голосов
/ 12 марта 2020

Я использую HTML DOM Parser для получения всех данных от http://nabbo.net/dtm/assetsnew.html В настоящее время он выбирает все записи, которые там находятся (~ 10K записей). Мне нужен только скрипт для отображения всех записей данных "POZ1", которые находятся в первом столбце yardSiteCodes. Что нужно изменить, чтобы добиться этого?

<?php
            define( 'MAX_FILE_SIZE', 8000000 );
            require('simple_html_dom.php');
            $base = 'http://nabbo.net/dtm/assetsnew.html';


            $curl = curl_init();
            curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
            curl_setopt($curl, CURLOPT_HEADER, false);
            curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
            curl_setopt($curl, CURLOPT_URL, $base);
            curl_setopt($curl, CURLOPT_REFERER, $base);
            curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
            $str = curl_exec($curl);
            curl_close($curl);

            $html_base = new simple_html_dom();
            $html_base->load($str);
            $table = $html_base->find('table', 0);
            $trrecords = $table->find('tr');

            $rowData = array();

            foreach($table->find('tr') as $row) {
                $keeper = array();

                foreach($row->find('td, th') as $cell) {
                    $keeper[] = $cell->plaintext;
                }
                $rowData[] = $keeper;
            }


            $total = count($rowData);
            foreach ($rowData as $row => $tr) {
                if ($row!=1) {
                    if ($row==0) {
                        echo '<thead>';
                        echo '<tr>'; 
                            echo '<th>' . $tr[0] .'</th>';
                            echo '<th>' . $tr[1] .'</th>';
                            echo '<th>' . $tr[2] .'</th>';
                            echo '<th>' . $tr[3] .'</th>';
                            echo '<th>' . $tr[4] .'</th>';
                            echo '<th>' . $tr[5] .'</th>';
                            echo '<th>' . $tr[7] .'</th>';
                            echo '<th>' . $tr[8] .'</th>';
                            echo '<th>' . $tr[9] .'</th>';
                            echo '<th>' . $tr[10] .'</th>';
                            echo '<th>' . $tr[11] .'</th>';
                            echo '<th>' . $tr[12] .'</th>';
                            echo '<th>' . $tr[13] .'</th>';
                        echo '</tr>';
                        echo '</thead>';
                    }else{
                            if ($row==2) {
                                echo '<tbody>';
                            }
                            echo '<tr>'; 
                                echo '<td>' . $tr[0] .'</td>';
                                echo '<td>' . $tr[1] .'</td>';
                                echo '<td>' . $tr[2] .'</td>';
                                echo '<td>' . $tr[3] .'</td>';
                                echo '<td>' . $tr[4] .'</td>';
                                echo '<td>' . $tr[5] .'</td>';
                                echo '<td>' . $tr[7] .'</td>';
                                echo '<td>' . $tr[8] .'</td>';
                                echo '<td>' . $tr[9] .'</td>';

                                $timestamp = (int) substr($tr[10], 0, -3);

                                echo '<td>' . date('d.m.Y H:i A',$timestamp) .'</td>';
                                echo '<td>' . $tr[11] .'</td>';
                                echo '<td>' . $tr[12] .'</td>';
                                echo '<td>' . $tr[13] .'</td>';
                            echo '</tr>';
                        }
                        if ($row==$total) {
                            echo '</tbody>';
                        }
                }

            }
            ?>

СПАСИБО ЗА ПРЕДЕЛА!

...