2012-01-11 14 views
7

可能性の重複:
How to parse and process HTML with PHP?PHPを使ってHTMLテーブルを解析するには?

私はPHPを使用して、指定されたHTMLテーブルの2番目の列を取得する必要があります。どうしたらいいですか?

参考文献:

表に解析する:この表のhttp://bit.ly/Ak2xay

HTMLコード:http://bit.ly/ACdLMn

+0

を行うことができphpQuery http://code.google.com/p/phpquery/を使用していますか? – codersofthedark

+0

はい、列の配列を取得 – isiaatz

+0

@誰もこれを重複としてマークしました...私はそのページのHTMLテーブルの解析について何も表示されません。詳しく教える? – David

答えて

11

整頓されたHTMLコードの場合、解析アプローチの1つはDOMです。 DOMオブジェクトにあなたのHTMLコードを分割して、あなたはなど、目的のオブジェクトおよびその値/タグ名を呼び出すことができます

PHP HTML DOM解析の公式ドキュメントが第二の値を見つけるためのhttp://php.net/manual/en/book.dom.php

でご利用いただけますDOM実装以下の特定のテーブルのためのcoloumnを行うことができます。

<?php 
$data = file_get_contents('http://mytemporalbucket.s3.amazonaws.com/code.txt'); 

$dom = new domDocument; 

@$dom->loadHTML($data); 
$dom->preserveWhiteSpace = false; 
$tables = $dom->getElementsByTagName('table'); 

$rows = $tables->item(1)->getElementsByTagName('tr'); 

foreach ($rows as $row) { 
     $cols = $row->getElementsByTagName('td'); 
     echo $cols[2]; 
} 

?> 

参考:How to parse this table and extract data from it?で提供されているコードは、この質問の要求に合うようにカスタマイズされました。

+0

これは、このデータを実装して使用するコードと同じファイル内にあるでしょうか? –

0

これはあなたに有用であり得る、あなたが始めるためにも例があります。 http://code.google.com/p/phpquery/

http://simplehtmldom.sourceforge.net/

+0

あなたはそれを行う方法を説明しないなら、既に与えられているものを回収することにはほとんど価値がありませんhttp://stackoverflow.com/questions/3577641/best-methods-to-parse-html – Gordon

+0

提供されたリンクがすでに説明している例について説明します – Geoffrey

+2

リンクがなくなる可能性があり、既にリンクするライブラリの標準コレクションがあります。 http://meta.stackexchange.com/questions/8231/are-answers-that-just-contain-links-elsewhere-really-good-answers – Gordon

-1

はたぶんphpQueryを見ていますか?
私はそれを自分で使っていないので、あなたが望むことを100%確実にしているわけではありませんが、それはCSSセレクタを使ってDOMから選択するためのjQueryのサーバーサイドの実装なので、あなたの場合。

+0

あなたがそれを行う方法を説明していない場合は、参照してくださいhttp://stackoverflow.com/questions/3577641/best-methods-to-parse-htmlに既に記載されているものを再考することで、非常に小さな価値がある – Gordon

0

あなたは

Uはそれを解析したい
$file = LINK OR NAME OF YOUR FILE 
phpQuery::newDocumentFile($file); 
$data = pq('UNIQUE COLUMN ID OR CLASS AS YOU WOULD FOR CSS ex: .class #id')->html(); 

echo $data. 
関連する問題