0

在 php 中,您可以提取两个标签 html、xml 或类似标签之间的内容。

例如,如果我有。

<div><h1>Title </h1><table><tr><td> Data 1 </td><td> Data 2 </td></tr></table></div>

我可以保存在变量中并用 echo 显示

 <h1> Title <h1><table><tr><td> Data 1 </td><td> Data 2 </td></tr></table>

我做了这个例子,它给了我错误。

$ html = "你好<p><b>how are you</b></p>";

$ dom = new DOMDocument ('1 .0 ',' utf-8 ');
$ dom-> loadHTML ($ html);
$ dom-> preserveWhiteSpace = false;
$ htwo = $ dom-> getElementsByTagName('div');
echo $ htwo-> item (0) -> nodeValue;

我显示

<p> <b> Hello how are you </ b> </ p>

Hello how are you

我该怎么做?如果是 xml 标签?

非常感谢您

4

2 回答 2

0

nodeValue只是节点的文本内容。要获取 HTML 内容,请使用:

$dom->saveHTML($htwo->item(0));

文档

于 2013-03-01T19:18:16.120 回答
0

原因是它是一个“尽力而为”的解析器,而您的“HTML”只不过是一个片段。它需要一个完整的 HTML 文档。

提供更完整的 HTML 片段,即:

<html>
 <head></head>
 <body>Your Text Here</body>
</html>

它会做得更好。

于 2013-03-01T19:19:09.477 回答