php - 通过xpath获取div的HTML内容

标签 php xpath

<分区>

我需要以下问题的支持,我有一个网站,我想通过 xpath 获取产品描述。在内容的示例 html 下方:

<div id="description">
 <span>some test</span>
 <img src="some src">
 <p>
  some content etc.
 </p>
</div>

现在我使用下面的代码:

$result = $xpath->query('//div[@id="description"]');

但是当我用下面一行输出结果时:

echo "<pre>".$result->item( 0 )->nodeValue."</pre>"; // there is always only one element

我得到的只是未格式化的:“some testsome content etc.”,没有空格和其他标签。我知道这是因为 xpath 将所有其他标签视为节点但是......

我有办法将 div 的内容获取为 HTML 吗?

最佳答案

嘿,我前阵子做过类似的事情,这篇文章对我有帮助:

PHP DOMDocument / XPath: Get HTML-text and surrounded tags

这在你的代码中有点开销,我的意思是如果你认为(像我一样)它可以用不同的 XPath 查询或其他东西在一行中解决...

希望对你有帮助

关于php - 通过xpath获取div的HTML内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17700454/

相关文章:

php - 获取页面语言并通过 polylang 重定向到相同语言的页面

php - 语法错误或访问冲突 : 1064 - PDO refuses to execute multiple queries (including CREATE TEMPORARY TABLE)

php - 无法在查询中使用变量

php - 在 mysql 表中上传大约 10,000,000 条记录的大型 CSV 文件也包含重复行

css - 有两个同名的类。如何在 Webdriver.IO 中使用 css/xpath 选择其中一个元素?

php - fatal error : Call to a member function find() on a non-object

javascript - 如何通过 Selenium Python 根据 HTML 单击复选框

java - 无法切换到 Selenium 中的框架,并在下面的描述中给出了详细信息

javascript - 使用 xpath 获取并打印出元素

ruby - XPath 只选择子元素(不是空白文本节点)