Задача, спарсить участок на этой картинке: со страници, к примеру http://football24.ua/football/onlineGame.do?objectId=15373 Вот код, который парсит первую запись коментария ("Кінець матчу"): Как спарсить текст по строкам в массив и потом его отобразить?
картинки не видно. рекомендую использовать symfony/dom-crawler! будет картинка - будет пример использования)
serguspl, держи: ну как это чем? сколько бы ты налопатил кодяры? у меня получилось 13 строчек чистой писанины. а ты бы мучался с курлами, регулярками и т.д. Просто, все эти библиотеки предлагают из коробки функционал, абстракцию для дальнейшего действия.
так файл тебе нужен один - index.php всё, что в папке vendor - это библиотеки, которые подключаются через composer.
для php < 5.4 index.php будет выглядеть так: PHP: <?phprequire 'vendor/autoload.php';use Goutte\Client;$config = array( 'url' => 'http://football24.ua/football/onlineGame.do?objectId=15373', 'selector' => '#online-game-actions-list-table tr .rightCell .player-action-description');$client = new Client();$crawler = $client->request('GET', $config['url']);$result = array();$result = $crawler->filter($config['selector'])->each(function($node) { return trim($node->text());});var_dump($result);
если нужно вывести всё в браузер, то : PHP: <?phprequire 'vendor/autoload.php';use Goutte\Client;$config = [ 'url' => 'http://football24.ua/football/onlineGame.do?objectId=15373', 'selector' => '#online-game-actions-list-table tr .rightCell .player-action-description'];$client = new Client();$crawler = $client->request('GET', $config['url']);$result = [];$crawler->filter($config['selector'])->each(function($node) { echo trim($node->text()) . '<br />';});
$iD, в таблицу запихнуть? вместо PHP: echo trim($node->text()) . '<br />'; так? PHP: echo '<table> <tbody> <tr>' echo '<td>' . $node->text() . '</td>'; '</tr> </tbody> </table>';'
PHP: echo '<table><tbody><tr>';$crawler->filter($config['selector'])->each(function($node) { echo '<td>' . trim($node->text()) . '</td>';});echo '</tr></tbody></table>'; добавь еще в конце: PHP: header('Content-Type: text/html; charset=utf-8'); чтобы кодировку правильную отдавал.
PHP: <?phpheader('Content-Type: text/html; charset=utf-8');require 'vendor/autoload.php';use Goutte\Client;$config = [ 'url' => 'http://football24.ua/football/onlineGame.do?objectId=15299', 'selector' => '#online-game-actions-list-table tr .rightCell .player-action-description'];$client = new Client();$crawler = $client->request('GET', $config['url']);$result = [];echo '<table><tbody><tr>';$crawler->filter($config['selector'])->each(function($node) { echo '<td>' . trim($node->text()) . '</td>';});echo '</tr></tbody></table>';});
PHP: <?phprequire 'vendor/autoload.php';use Goutte\Client;$config = [ 'url' => 'http://football24.ua/football/onlineGame.do?objectId=15373', 'selector' => '#game-actions-table-container'];$client = new Client();$crawler = $client->request('GET', $config['url']);header('Content-Type: text/html; charset=utf-8');echo $crawler->filter($config['selector'])->html(); Я тут подумал, раз тебе нужна вся таблица, так давай всю таблицу и заберём)
PHP: $result = $crawler->filter($config['selector'])->each(function($node) { return trim($node->text());}); Как после этого вывести не через: PHP: var_dump($result); а просто текстом через PHP: </br>