PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (2): « 1 [2]

> Найдено сообщений: 18
Torres90 Отправлено: 20 Апреля, 2018 - 11:05:50 • Тема: Работа парсера с таблицами и массивами • Форум: Напишите за меня, пожалуйста

Ответов: 32
Просмотров: 371
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <table class="table table-bordered table-responsive table-hover">
  3.                 <thead class="table-active">
  4.                   <tr class="col-lg-12">
  5.                     <th scope="col">Дата</th>
  6.                     <th scope="col">Чемпионат</th>
  7.                     <th scope="col">Матч</th>
  8.                     <th scope="col">П1</th>
  9.                     <th scope="col">Х</th>
  10.                     <th scope="col">П2</th>
  11.                     <th scope="col">Прогноз</th>
  12.                     <th scope="col">П1</th>
  13.                     <th scope="col">Х</th>
  14.                     <th scope="col">П2</th>
  15.                   </tr>
  16.                 </thead>
  17.                 <tbody>
  18.                   Парсер, каждый массив второго уровня в td, основнной массив в tr обрамляется
  19.                 </tbody>
  20. </table>
  21.  


Дамп:
CODE (html):
скопировать код в буфер обмена
  1.  
  2. Array ( [tabke] => Array ( [0] => Array ( [0] => [1] => [2] => 2018-04-20 00:30 [3] => Чемпионат Сальвадора [4] => КД Драгон - Луис Анхель Фирпо [5] => 43% [6] => 28% [7] => 29% [8] => 12 [9] => 2.17 [10] => 3.10 [11] => 3.26 ) [1] => Array ( [0] => [1] => [2] => 2018-04-20 00:30 [3] => Чемпионат Гватемалы [4] => Антигуа ГФК - ФК Сухитепекес [5] => 74% [6] => 14% [7] => 12% [8] => П1 [9] => 1.26 [10] => 5.80 [11] => 8.00 ) [2] => Array ( [0] => [1] => [2] => 2018-04-20 01:00 [3] => Чемпионат Сальвадора [4] => Санта Текла II - Альянса II [5] => 27% [6] => 22% [7] => 51% [8] => 12 [9] => 3.44 [10] => 3.60 [11] => 1.82 )))
  3.  

В масиве 12 столбцов, первые два пустые, т.е. их не используем, остальные 10 как раз в поля должны зайти.
Torres90 Отправлено: 20 Апреля, 2018 - 09:54:20 • Тема: Работа парсера с таблицами и массивами • Форум: Напишите за меня, пожалуйста

Ответов: 32
Просмотров: 371
Всем привет!
Занимаюсь написанием парсера и обработкой полученной информации.
PHP:
скопировать код в буфер обмена
  1.  
  2. $str = file_get_contents('http://football2.psvb.ru/index11.php');
  3. $str = str_replace('<table class="robobet_psvb_table">','<table class="robobet_psvb_table" id="robobet_psvb_table"><thead></thead><tbody>', $str);
  4. $str = str_replace('</table>','</tbody></table>', $str);
  5. $ids = array('tabke' => 'id="robobet_psvb_table"');
  6. foreach ($ids as $k => $mark) {
  7. // Постепенно отсекаем лишнее, оставляя лишь содержимое <tbody>
  8. $table = strstr($str, $mark, false);
  9. $table = strstr($table, '</table>', true);
  10. $table = strstr($table, '</thead>', false);
  11. // Разбиваем по закрывающему тегу и не забываем удалить лишний кусок в конце.
  12. $cells = explode('</td>', $table, -1);
  13. // Удаляем html разметку и лишние пробелы по краям
  14. array_walk($cells, function(&$n) { $n = trim(strip_tags($n)); } );
  15. // Восстанавливаем структуру в 12 столбцов
  16. $result[$k] = array_chunk($cells, 12); }
  17. print_r($result);
  18.  

Через принт выводится сложный массив. Мне нужно вывести этот массив обратно в таблицу вида <table>, но только нужных мне столбцов, причем в нужном порядке. По этой таблице непонятно зачем мне это нужно, но есть проблемы с таблицами, где заполнены не все поля и этот способ должен их обработать.
Подскажите пожалуйста как правильно вывести нужную информацию.

Страниц (2): « 1 [2]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB