2010-02-05 3 views
0

나는 DOMDocument 클래스를 사용하여 PHP에서 HTML 문서를 구문 분석합니다. 내가 사용하고 테이블의 코드 ...PHP에서 DOMDocument 클래스를 사용하여 태그의 nodeValue를 가져 오지 못합니까?

<table> 
    <tr> 
     <td> 123 employees </td> 
    </tr> 
    <tr> 
     <td> $50,000 </td> 
    </tr> 
</table> 

내가 위의 형식처럼 태그의 nodeValue를, 즉 ($ 50,000 123 명의 직원을) 가져올 수 없습니다입니다.

+0

요소 자체를 에코하여보십시오 :'echo (string) $ element; ' –

+0

코드를 게시하십시오. –

답변

0

아마도 XPath 쿼리를 사용할 수 있습니다. 예 :

$doc = new DOMDocument(); 
$doc->loadHTML(...your html...); 

$xpath = new DOMXPath($doc); 
$query = '//table/tr/td'; 

$entries = $xpath->query($query); 

foreach ($entries as $entry) 
    print_r($entry->nodeValue); (*) 

(*)로 표시된 줄을 사용자 요구에 맞는 코드로 바꿉니다. 건배.

0

당신이 말하지 않으면 무엇을 잘못하고 있는지 말할 수 없습니다.

하지만 원칙적으로 테이블에 대한 참조 (DOM element)를 가져와야하며 행과 셀 (child nodes)을 가져 와서 node value을 가져와야합니다.

테이블에있는 테이블이 하나 뿐인 경우 $doc->getElementsByTagName('table')->item(0) ($docDOM document object)으로 가져올 수 있습니다.

관련 문제