我正在尝试使用php和dom xpath来抓取网页数据。当我将$ node-&gt; nodeValue存储到我的数据库中时,或者即使我尝试回显它,也会丢失所有标记,如<p>
和<br>
。所以我得到所有的串联连接。如何解决这个问题
答案 0 :(得分:3)
如果您有一个节点,并且您需要所有内容,则可以使用此功能:
function innerHTML(DOMNode $node)
{
$doc = new DOMDocument();
foreach ($node->childNodes as $child) {
$doc->appendChild($doc->importNode($child, true));
}
return $doc->saveHTML();
}
答案 1 :(得分:0)
如果您正在浏览DOM,则很可能不再有标签可供查看。标签现在是DOM中的节点 - 标签中包含的原始内容是您以“字符串形式”访问的全部内容。当然,您可以使用节点信息来重建标签,但它们不会是原始标签(例如,您必须选择<BR>
或<br>
- 您将不知道哪个网站最初有)。如果你想从get go中获取原始标记,那么获取你所做的GET / POST返回的原始字节流;不要将其解析为DOM树。