2012-01-11 19 views
7

Olası Çoğalt:
How to parse and process HTML with PHP?PHP kullanarak HTML tablosu nasıl ayrıştırılır?

PHP kullanarak verilen HTML tablosunun ikinci sütununu getirmesi gerekir. Nasıl yapabilirim?

Referanslar:

Tablo ayrıştırılmasına: Bu tablonun http://bit.ly/Ak2xay

HTML kodu: http://bit.ly/ACdLMn

+0

yapabileceğini phpQuery http://code.google.com/p/phpquery/ kullanarak? – codersofthedark

+0

evet, ve bir çift sütun olarak – isiaatz

+0

@everyone olsun bir satır olsun ... Bu sayfada html TABLOLAR ayrıştırma hakkında bir şey göremiyorum. Detaylandırmaya özen gösterilsin mi? – David

cevap

11

Düzenli HTML kodları için ayrıştırma yaklaşımlarından biri DOM olabilir. DOM nesnelerine HTML kodunu böler ve sonra vb istenen nesne ve onun değerler/etiket adını olabilmesinin önünü

PHP HTML DOM ayrıştırma resmi belgeler saniyenin değerlerini bulma için http://php.net/manual/en/book.dom.php

mevcuttur DOM uygulaması aşağıdaki tablo için Kolon yapılabilir:

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

?> 

Referans:How to parse this table and extract data from it? sağlanan kod, bu Sorunun talep maç Özelleştirilmiş.

+0

adresinde verilenleri hatırlamada çok az değer Bu, bu verileri uygulamak ve kullanmak istediğiniz kodla aynı dosyada olabilir mi? ? –

0

Bu size yararlı olabilir, başlamak için bile örneği vardır. http://code.google.com/p/phpquery/:

http://simplehtmldom.sourceforge.net/

+0

eğer nasıl yapacağınızı açıklamayacaksanız, http://stackoverflow.com/questions/3577641/best-methods-to-parse-html – Gordon

+0

adresinde neyin daha önce verildiğini hatırlamada çok az değer var. Neden örnekler verin ve Sağlanan linkin ne zaman açıklandığını açıklar ve örnekler verir? – Geoffrey

+2

Çünkü bağlantı gidebilir ve bağlantı kurabilmemiz için kanonik bir kütüphane koleksiyonumuz var. Ayrıca nasıl yapacağınızı açıklamayacaksanız http://meta.stackexchange.com/questions/8231/are-answers-that-just-contain-links-elsewhere-really-good-answers – Gordon

-1

Belki phpQuery de bakabilirsiniz?
Kendim kullanmadım, bu yüzden istediğinizi yaptığından% 100 emin değilim, ancak CSS seçicilerini kullanarak DOM'dan jQuery'yi seçmek için sunucu tarafı bir uygulama olduğundan, yararlı olabileceğini düşünüyorum Senin durumunda.

+0

adresine bakın. http://stackoverflow.com/questions/3577641/best-methods-to-parse-html – Gordon

0

sen

U ayrıştırmak istiyor
$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. 
İlgili konular