我正在尝试使用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菜鸟,所以我可能会遗漏一些非常简单的东西,但是通过我的搜索我无法真正找到它。
答案 0 :(得分: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);