2012-01-11 3 views
7

가능한 중복 :
How to parse and process HTML with PHP?PHP를 사용하여 HTML 테이블을 구문 분석하는 방법은 무엇입니까?

나는 PHP를 사용하여 주어진 HTML 테이블의 두 번째 열을 가져올 필요가있다. 내가 어떻게 해?

참고 :

표 구문 분석 할 :이 테이블의 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 코드의 경우 파싱 방식 중 하나가 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. 
관련 문제