2

フォームを介して渡されたいくつかの変数に基づいて、別の Web サイトからテーブルを取得しようとしています。? の後の URL の詳細がわかりました。それらの変数に対応し、ページにフォームを作成してそれらの変数を投稿し、URL を作成しましたfile_get_contents。これをプロセスに入れ、それによってテーブルをデータとして収集します (テーブルが格納されている場所に絞り込みましたget) div。 .

私の問題は、データが書式設定なし (列や行なし) のプレーン テキストの文字列としてページに表示されることです。

データを取得するコードは次のとおりです。

<?php
$page = file_get_contents($stats_url);
$doc = new DOMDocument();
$doc->loadHTML($page);
$divs = $doc->getElementsByTagName('div');
foreach($divs as $div) {
    // Loop through the DIVs looking for one withan id of "content"
    // Then echo out its contents (pardon the pun)
    if ($div->getAttribute('id') === 'statstable') {
         echo $div->nodeValue;
    }
}
?>

返されるデータのサンプルを次に示します。

NameGamesInnsNot OutsRunsHigh ScoreAvg50's100'sDucksStrike RateBowled (%)Caught (%)LBW (%)Stumped (%)Run Out (%)Not Out (%)Did Not Bat (%)%Games Won%Games Drawn%Games Lost%Teamランキャッチスタンピングランアウトオワイス・ファリード 1 1 0 72 7272 1 0 0 - 0 1 (100) 0 0 0 0 0 0 100 42.6 0 0 0 アティフ・アリ 2 2 0 28 2814 0 0 1 - 2 (100) 0 0 0 0 0 0 0 0 100 11.62 0 0 0 クレイグ・ヒルズ 2 2 0 20 1310 0 0 0 - 0 1 (50) 1 (50) 0 0 0 0 0 0 100 8.3 1 0 0 デイル・スキース 2 2 0 16 128 0 0 0 - 1 (50) 1 (50) 0 0 0 0 0 0 0 100 6.64 1 0 0 アッシュ アシム 2 2 1 16 10*16 0 0 0 - 0 1 (50) 0 0 0 1 (50) 0 0 0 100 6.64 0 0 0 フセイン・ダルヴィ 1 1 0 11 1111 0 0 0 - 0 1 (100) 0 0 0 0 0 0 0 100 6.51 0 0 0 アズハル アリ 1 1 0 11 1111 0 0 0 - 0 1 (100) 0 0 0 0 0 0 100 6.51 0 0 0 A ハムド 1 1 0 10 1010 0 0 0 - 0 1 (100) 0 0 0 0 0 0 0 100 5.92 0 0 0 マリ 1 1 0 5 55 0 0 0 - 1 (100) 0 0 0 0 0 0 0 100 2.96 0 0 0 サイモン・プレザント 1 1 0 5 55 0 0 0 - 0 1 (100) 0 0 0 0 0 0 0 100 6.94 0 0 0

次に、このテキストを取得してテーブルとして再コンパイルするにはどうすればよいですか?

4

1 に答える 1

0

PHP シンプルな HTML DOM パーサーをチェックしてください

それはこのようなものに見事に機能します。

http://simplehtmldom.sourceforge.net/

于 2013-01-15T12:26:14.290 に答える