2012-01-11 25 views
7

thể trùng lặp:
How to parse and process HTML with PHP?Làm cách nào để phân tích cú pháp bảng HTML bằng PHP?

tôi cần phải lấy cột thứ hai của bảng HTML được sử dụng PHP. Tôi làm nó như thế nào?

Tài liệu tham khảo:

Bảng để được phân tích: http://bit.ly/Ak2xay

HTML của bảng này: http://bit.ly/ACdLMn

+0

U muốn phân tích nó? – codersofthedark

+0

có và nhận được một mảng các cột – isiaatz

+0

@everyone đã đánh dấu trang này là trùng lặp ... Tôi không thấy bất kỳ điều gì về phân tích cú pháp html TABLES trên trang đó. Chăm sóc để xây dựng? – David

Trả lời

11

Đối với các mã HTML gọn gàng, một trong các phương pháp phân tích cú pháp có thể là DOM. DOM chia mã HTML của bạn thành các đối tượng và sau đó cho phép bạn gọi đối tượng mong muốn và tên giá trị/thẻ của nó vv

Các tài liệu chính thức của PHP HTML DOM phân tích cú pháp có sẵn tại http://php.net/manual/en/book.dom.php

Đối với việc tìm kiếm các giá trị của thứ hai coloumn cho bảng cho sau thi DOM có thể được thực hiện:

<?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]; 
} 

?> 

tham khảo: tùy chỉnh mã được cung cấp tại How to parse this table and extract data from it? để phù hợp với nhu cầu của câu hỏi này.

+0

Điều này có trong cùng một tệp với mã mà bạn muốn triển khai và sử dụng dữ liệu này không ? –

0

Điều này có thể được sử dụng đối với bạn, thậm chí có những ví dụ để giúp bạn bắt đầu.

http://simplehtmldom.sourceforge.net/

+0

nếu bạn không định giải thích cách thực hiện, có rất ít giá trị trong việc thu hồi những gì đã được đưa ra tại http://stackoverflow.com/questions/3577641/best-methods-to-parse-html – Gordon

+0

Tại sao đưa ra các ví dụ và giải thích khi liên kết được cung cấp đã giải thích và đưa ra các ví dụ? – Geoffrey

+2

Vì liên kết có thể biến mất và chúng tôi đã có một bộ sưu tập thư viện chuẩn để liên kết tới. Ngoài ra, hãy xem http://meta.stackexchange.com/questions/8231/are-answers-that-just-contain-links-elsewhere-really-good-answers – Gordon

-1

Có lẽ có một cái nhìn tại phpQuery: http://code.google.com/p/phpquery/?
Tôi đã không sử dụng nó vì vậy tôi không chắc chắn 100% nó làm những gì bạn muốn, nhưng vì nó là một thực hiện phía máy chủ của jQuery để chọn từ DOM, sử dụng bộ chọn CSS, tôi nghĩ rằng nó có thể hữu ích trong trường hợp của bạn.

+0

nếu bạn không định giải thích cách thực hiện, có rất ít giá trị trong việc thu hồi những gì đã được đưa ra tại http://stackoverflow.com/questions/3577641/best-methods-to-parse-html – Gordon

0

Sử dụng phpQuery http://code.google.com/p/phpquery/ bạn có thể làm

$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. 
Các vấn đề liên quan