我要去用简单的做了。你已经拥有:现在
$dom = new DOMDocument;
$dom->loadHTML($webtext['content']);
$main = $dom->getElementById('inter');
$dom->saveHTML();
,DOMDocument::getElementById()
返回一个DOMElement
延伸DOMNode
它具有public string
nodeValue
。既然你没有指定你是否期望在div
之内的任何内容,我会假设你想要以纯文本的形式存储任何内容。为此,我们要去除$dom->saveHTML();
,而是将其替换为:
$divString = $main->nodeValue;
就这样,$divString
将包含//SOME THINGS IN MY DIV
,其中,从你的榜样,是所需的输出。
但是,如果你想它的内部,而不是只是一个字符串表示的HTML - 以代替替换为以下:
$divString = "";
foreach($main->childNodes as $c)
$divString .= $c->ownerDocument->saveXML($c);
什么,做是利用了继承DOMNode::childNodes
其中包含的一个DOMNodeList
每个包含自己的DOMNode(供参考,见上),我们循环每一个得到ownerDocument
这是一个DOMDocument
,我们称之为DOMDocument::saveXML()
功能。我们将当前的$c
节点传递给该函数的原因是为了防止输出完整的有效文档,并且因为ownerDocument
就是我们正在循环的内容 - 我们需要一次找到一个孩子,没有孩子留下。 (对不起,它迟到了,无法抗拒。)
现在,在任一选项之后,你可以用$divString
做什么。我希望这有助于向你解释这个过程,希望你能够更好地理解发生的事情,而不是仅仅因为它的作用而死记硬背地复制代码。 ^^
来源
2013-04-15 09:38:45
Jon
阅读**手册**:http://www.php.net/manual/en/class.domelement.php#101243 – BlitZ