2009-09-17 2 views
1

불쌍한 친구들에게 죄송 합니다만, 나는 겁나서. 내가 같은 테이블이 있습니다간단한 HTML을 사용하여 테이블에서 데이터를 가져 와서 도움이 필요합니다.

<table class="gsborder" cellspacing="0" cellpadding="2" rules="cols" border="1" id="d00"> 
     <tr class="gridItem"> 
       <td>Code</td><td>0adf</td> 
     </tr><tr class="AltItem"> 
       <td>CompanyName</td><td>Some Company</td> 
     </tr><tr class="Item"> 
       <td>Owner</td><td>Jim Jim</td> 
     </tr><tr class="AltItem"> 
       <td>DivisionName</td><td> </td> 
     </tr><tr class="Item"> 
       <td>AddressLine1</td><td>9314 W. SPRING ST.</td> 
     </tr> 
</table> 

내 데이터를 얻기 위해 다음 코드를 사용하고 있습니다 :

$foo = $html->getElementById("d00")->childNodes(1)->childNodes(1); 

이하지만 문제는 내가 함께 두 <td></td> 태그를 얻고 있다는 것입니다 내 데이터. 태그가없는 원시 데이터 만 가져 오는 방법이 있습니까?

또한이 테이블에서 데이터를 가져 오는 올바른 방법입니까?

답변

2

원시 텍스트를 가져 오려면 strip_tags를 사용하십시오. 그래서

http://us.php.net/manual/en/function.strip-tags.php

:

$foo = strip_tags($html->getElementById("d00")->childNodes(1)->childNodes(1)); 
+0

아 ... 감사합니다 ... 감사합니다! –

3

사용하십시오 :

$foo = $html->getElementById("d00")->childNodes(1)->childNodes(1)->plaintext; 

또는 innerText와. 당신은 요소 (들)는 텍스트 노드로부터 데이터를 가져 오는 접근에 관심을 찾았 으면 당신이 사용하는 어떤 DOM API 엄지 손가락의 규칙으로서 http://simplehtmldom.sourceforge.net/manual.htm

:

// Example 
$html = str_get_html("<div>foo <b>bar</b></div>"); 
$e = $html->find("div", 0); 

echo $e->tag; // Returns: " div" 
echo $e->outertext; // Returns: " <div>foo <b>bar</b></div>" 
echo $e->innertext; // Returns: " foo <b>bar</b>" 
echo $e->plaintext; // Returns: " foo bar" 

은 촬영 그들은 더 많은 작업이 필요합니다.

+0

죄송합니다. 나는 앤드류에게 아직 답장을 보지 못했습니다. 감사. 매뉴얼을 살펴 봤지만 솔직히 이것이 내가 필요한 것임을 전혀 몰랐습니다. 나는 이것을 시도 할 것입니다. –

+0

네, 방금 해봤지만 잘 작동합니다. 내가 빠뜨린 것은 -> 평문이었습니다. 앤드류 .. 정말 고마워. –

관련 문제