2015-01-03 3 views
-1

<span id="the_name"> 태그의 내용을 html로 구문 분석해야합니다.
html로는 다음과 같습니다HTML에서 domXPath의 값을 얻습니다.

... 
<span id="userName" class="username"></span> 
<div class="main"> 
<div class="menu"> 
    <div id="totals" class="totals" > 
    </div> 
    <ul id="alter_menu"> 
    </ul> 
    <div class="content"> 
    <br /> 
    <table width="70%" style="margin-left: auto; margin-right: auto;"> 
    <tr> 
    <td class="major_text" align="center"> 
    <br/> 
    <span id="verbatim" class="sender"> Alexander</span> 
    </td> 
    </tr> 
    <tr> 
    <td> 
    </td> 
    </tr> 
    <tr> 
    <td class="newline"> 
    </td> 
</div> 
... 

코드는 내가 실행

$dom = new domDocument($html); 
$xpath = new domXPath($dom); 
$nodes = $xpath->query('//span[@id="verbatim"]'); 
echo $nodes->item(0)->nodeValue; 

문제는 내가 $nodes->item(0)->nodeValue에 대한 NULL가 계속, 나는이 domElement을 검사하는 방법을하지 확신합니다.

$dom = new domDocument(); 
libxml_use_internal_errors(true); 
$dom->loadHTML($html); // this line is important 
$xpath = new domXPath($dom); 
$nodes = $xpath->query('//span[@id="verbatim"]'); 
echo $nodes->item(0)->nodeValue; 

Sample Output

->evaluate()도 잘 작동합니다 :

은 물론, 내가

+0

방금 ​​문서를로드하지 않으려 고 약간의 실수를했습니다 .... – hakre

답변

2

당신은 단지 DOMDocument 후 실제로 HTML 마크 업을로드 할 ->loadHTML()를 사용하여 인스턴스화 Alexander 값이 필요합니다 :

echo $xpath->evaluate('string(//span[@id="verbatim"])'); 
+0

완전히 나쁘다, 나는 loadHTML을 사용하지 않았다. .. 고마워! :) – Ted

+1

@ 도움이 기쁩니다. – Ghost

관련 문제