2013-07-18 33 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