解析HTML div id包括所有内部内容

时间:2013-07-26 16:18:18

标签: php parsing dom xpath

我正在尝试解析html文件并检索div中的所有内容

$some_html = file_get_contents($html);   
$dom = new DOMDocument();   
@$dom->loadHtml($some_html);//Strict error checking off     

$xpath = new DOMXPath($dom);      
$result = $xpath->query('//*[@id="IDX-detailsWrapper"]');    
 if (!empty($result)) {    
    foreach ( $result as $link ) {var_dump($link->nodeValue); }} 

html:

<div id="IDX-detailsWrapper"><div id=content><h1>test</h1></div></div>

我希望检索以下字符串

  `<div id=content><h1>test</h1></div>`

而不是

  `test`

目前它只检索div中包含的文本,而不是html。

虽然我不确定这样做的确切做法!

谢谢JT

1 个答案:

答案 0 :(得分:3)

我最终使用了http://sourceforge.net/projects/simplehtmldom/files/

中的库

以及有效的示例代码是

include('simple_html_dom.php');         
$html = file_get_html($html);
foreach($html->find('div#IDX-detailsWrapper') as $e)
echo $e->innertext . '<br>';

希望这有助于某人:)