2014-09-02 1 views
2

다음과 같은 구조의 HTML 코드가 있습니다. 을 사용하여 첫 번째 테이블에서 TR을 가져 오는 방법 PHP 간단한 HTML DOM 찾기 메서드.PHP 간단한 HTML DOM 파서 첫 번째 테이블에서만 TR을 얻는 방법

<table width="100%" cellspacing="0" cellpadding="0" border="0" class="convertedTable"> 
     <tbody> 
     <tr> 
     <td> 
      <table width="100%" cellspacing="0" cellpadding="0" border="0"> 
      <tbody> 
       <tr> 
       <td>...</td> 
       </tr> 
      </tbody> 
      </table> 
      </td> 
      </tr> 
<tr> 
     <td>Some text</td> 
      </tr> 
<tr>...</tr> 
.... 
     </tbody> 
     </table> 

시도했지만 작동하지 않습니다.

`당신의 조언을

$file->find('/body/table/tr') 
$file->find('/body/table[!class]/tr') 
$file->find('body table tr') 

감사합니다.

당신은이 같은 간단한 시도 할 수
+0

첫 번째'tr' throught php? 또는 CSS? – mostafaznv

+0

이미 시도한 코드를 공유 할 수 있습니까? –

+2

참고로, SimpleHTMLDom은 끔찍한 라이브러리입니다. – Phil

답변

2

:

foreach($html->find('tr') as $tr) { 
    // do something with $tr 
    break; // stop now 
} 

을 또는이처럼 지정

$tr = $html->find('tr', 0); // zero based index selector 
0

당신 단지 몇 줄의 쉽게 할 수 있어야한다 :

$table = $html->find('table', 0); 
foreach($table->find('table') as $tb) { 
foreach($tb->find('tr') as $tr) { 
     echo $tr; 
    } 
} 

결과 :

<tr> 
<td>...</td> 
</tr> 
+0

예, 첫 번째 TABLE에서 단 하나의 TR에 대해이 작업이 올바르게 수행되지만 첫 번째 TABLE에 TR이 더있는 경우 작동하지 않습니다 :-( – neattom

+0

내 질문을 편집합니다 ... – neattom

+0

@neattom, 대답 업데이트 됨 ... –