2012-01-11 59 views
7

可能重複:
How to parse and process HTML with PHP?如何使用PHP解析HTML表格?

我需要獲取使用PHP給定的HTML表格的第二列。我該怎麼做?

參考文獻:要分析

表:http://bit.ly/Ak2xay

此表的HTML代碼:http://bit.ly/ACdLMn

+0

ü要分析它? – codersofthedark 2012-01-11 08:27:58

+0

是的,並得到一個列數組 – isiaatz 2012-01-11 08:31:48

+0

@everyone誰將其標記爲重複...我沒有看到任何關於解析頁面上的HTML表格。謹慎闡述? – David 2013-12-09 21:43:23

回答

11

對於整齊HTML代碼,一個解析方法可以是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

這是否與你想要實現和使用這些數據的代碼在同一個文件中? – 2016-03-11 22:18:59

0

這可能是對你有用的,甚至還有一些例子讓你開始。

http://simplehtmldom.sourceforge.net/

+0

,如果你不打算解釋如何做到這一點,就在回憶什麼,在http://stackoverflow.com/questions/3577641/best-methods-to-parse-html – Gordon 2012-01-11 09:20:23

+0

已經給出爲什麼要給例子,價值不大解釋何時提供的鏈接已經解釋並舉例說明? – Geoffrey 2012-01-11 09:29:21

+2

因爲鏈接可能會消失,並且我們已經有一個規範的庫鏈接。另見http://meta.stackexchange.com/questions/8231/are-answers-that-just-contain-links-elsewhere-really-good-answers – Gordon 2012-01-11 09:43:32

-1

也許看看phpQuery:http://code.google.com/p/phpquery/
我沒有用它自己,所以我不是100%肯定它你想要做什麼,但因爲它是一個服務器端執行的jQuery從DOM中,選擇使用CSS選擇,我認爲這可能是有益的在你的情況。

+0

如果你不打算解釋如何去做,那就是在回憶已經在http://stackoverflow.com/questions/3577641/best-methods-to-parse-html上提供的東西的價值很小 – Gordon 2012-01-11 09:20:28

0

使用phpQuery http://code.google.com/p/phpquery/你可以做

$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.