2013-07-18 90 views
0

我想保存getElementById使用PHP的结果。DOMDOCUMENT | PHP:保存getElementById输出到新的HTML文件

的代码,我有:

<?php 
$doc = new DOMDocument(); 
$doc->validateOnParse = true; 
@$doc->loadHTMLfile('test.htm'); 
$div = $doc->getElementById('storytext'); 
echo $doc->saveHTML($div); 
?> 

这将显示相​​关的文字,我现在想的是保存到一个新的文件,我已经使用save(),saveHTMLfile()和file_put_contents(),没有试过这些工作,因为他们只保存字符串,我不能把$ div变成一个字符串,所以我卡住了。

如果我只是挽救了整个事情:

$doc->saveHTMLfile('name.ext'); 

它的工作原理,但它节省了一切,不只是我需要的部分。

我是一个完整的DOM noob,所以我可能会丢失一些非常简单的东西,但我无法通过我的搜索找到很多关于此的信息。

回答

0
function getInnerHtml($node) { 
    $innerHTML= ''; 
    $children = $node->childNodes; 
    foreach ($children as $child) { 
     $innerHTML .= $child->ownerDocument->saveXML($child); 
    } 

    return $innerHTML; 
} 

$html = getInnerHtml($div); 
file_put_contents("name.ext", $html); 
+0

这是完美的,欢呼声! – DasSnipez