0

我正在尝试使用 PHP 保存 getElementById 的结果。

我的代码:

<?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 菜鸟,所以我可能遗漏了一些非常简单的东西,但通过搜索我真的找不到太多关于这个的东西。

4

1 回答 1

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);
于 2013-07-18T12:23:48.113 回答