如何使用PHP HTML DOM获取指定div中的文本信息
解决方案
- 你的代码存在两个核心问题:
- 选择器错误:目标元素是同时拥有
package-status-header和s3类的<div>,应该用类选择器.package-status-header.s3,而非错误地查找s3标签 - 目标属性错误:你需要的是标签内的文本内容,不是
src属性
- 选择器错误:目标元素是同时拥有
以下是修正后的代码:
include "simple_html_dom.php"; $site = "https://pkge.net/tr/parcel/7330017657196779"; $html = file_get_html($site); // 直接定位目标div元素 $statusHeader = $html->find('.package-status-header.s3', 0); if ($statusHeader) { // 获取标签内的文本内容 $statusText = $statusHeader->plaintext; echo "状态文本:" . $statusText . "<br>"; } else { echo "未找到目标元素"; }
- 代码说明:
- 使用
.package-status-header.s3精准匹配同时具备两个类的div - 通过
plaintext属性获取标签内的纯文本内容 - 增加了存在性判断,避免元素不存在时触发错误
- 使用
内容的提问来源于stack exchange,提问作者yumlusoft
相关产品推荐
相关产品推荐

