DOMDOCUMENT|PHP:将getElementByID输出保存到新的HTML文件中

原学程将引见DOMDOCUMENT|PHP:将getElementByID输入保留到新的HTML文件中的处置办法,这篇学程是从其余处所瞅到的,而后减了1些海外法式员的疑问与解问,愿望能对于您有所赞助,佳了,上面开端进修吧。

DOMDOCUMENT|PHP:将getElementByID输出保存到新的HTML文件中 教程 第1张

成绩描写

我正在测验考试应用PHP保留getElementByID的成果。

我的代码:

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

这将显示相干的文原,我如今想将其保留到1个新文件中,我测验考试过应用save()、saveHTMLfile()以及file_put_Contents(),但是这些皆没有起感化,由于它们只保留字符串,而我没法将$div转换为字符串,是以碰到了成绩。

假如我只保留全部文件:

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

它不妨任务,但是它不妨保留一切实质,而不只仅是我须要的部门。

我是1个彻彻底底的DOM老手,所以我能够漏掉了1些异常简略的器械,但是我经由过程搜刮找没有到太多闭于这圆里的信息。

推举谜底

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);

佳了闭于DOMDOCUMENT|PHP:将getElementByID输入保留到新的HTML文件中的学程便到这里便停止了,愿望趣模板源码网找到的这篇技巧文章能赞助到年夜野,更多技巧学程不妨在站内搜刮。