DOMDocument节点获取HTML内容

时间:2012-11-01 12:37:36

标签: php domdocument innerhtml

  

可能重复:
  innerHTML in PHP’s DomDocument?

我正在编写一个应用程序来从rss提要中获取预览内容。 为此,我想获得特定div的HTML内容。

我提取的文字看起来像这样

<P>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean egestas enim non tellus interdum mollis. Pellentesque accumsan, purus quis facilisis vulputate,</P>
<P>leo enim rhoncus velit, non consectetur lacus libero a eros. Fusce rutrum, sapien eget facilisis placerat, metus enim sagittis ante, quis elementum velit tortor sit amet purus. </P>
<P>Mauris accumsan, dolor quis mollis iaculis, metus nisl lacinia neque, vel condimentum erat nisl ut lorem. Cras vestibulum urna in nisl ullamcorper rhoncus tincidunt massa </P>
<P>pretium. Nunc dui est, imperdiet et vulputate sit amet, facilisis semper ante. Duis ac ornare elit. Morbi gravida dolor vitae nunc tempus a hendrerit odio posuere. Morbi </p>

但是当我清理页面并解析它时,获取nodeValue我得到没有Paragraph标签的文本

$dom = new DOMDocument();
$dom->validateOnParse = false;
$html = get_data($item['link']);
$dom->loadHTML($html);
$storycontents = $dom->getElementById('story-body-text');
echo '<TR><TD>'.$storycontents ->nodeValue.' </TD></TR>';

DOMDocument中是否有办法获取特定ID的“innerHTML”属性?

1 个答案:

答案 0 :(得分:3)

感谢@simone How to get innerHTML of DOMNode?

$tmp_dom = new DOMDocument(); 
$tmp_dom->appendChild($tmp_dom->importNode($child, true)); 
$innerHTML.=trim($tmp_dom->saveHTML()); 

没有出现在我的搜索中,但是非常感谢你。