You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用PHP提取相同class属性的div标签内的文本内容

PHP提取指定class的div标签文本内容

下面提供两种实用的PHP实现方式,帮你快速提取目标div内的文本:

方法一:用DOMDocument遍历元素

<?php
// 待处理的HTML内容
$html = '
<p>文本1:</p>
<div class="b3id-instrument-details-label">Text 1</div>
<p>文本2:</p>
<div class="b3id-instrument-details-label">Text 2</div>
';

// 初始化DOM解析器
$dom = new DOMDocument();
// 屏蔽HTML不规范导致的警告
libxml_use_internal_errors(true);
$dom->loadHTML($html);
libxml_clear_errors();

// 获取所有div元素
$divElements = $dom->getElementsByTagName('div');
$textList = [];

// 遍历div,筛选目标class的元素
foreach ($divElements as $div) {
    if ($div->getAttribute('class') === 'b3id-instrument-details-label') {
        // 提取文本并去除首尾空白
        $textList[] = trim($div->nodeValue);
    }
}

// 按要求输出结果
echo implode("\n", $textList);
?>

方法二:用DOMXPath精准定位(更高效)

如果HTML结构复杂,用XPath可以直接定位目标元素,无需遍历所有div:

<?php
$html = '
<p>文本1:</p>
<div class="b3id-instrument-details-label">Text 1</div>
<p>文本2:</p>
<div class="b3id-instrument-details-label">Text 2</div>
';

$dom = new DOMDocument();
libxml_use_internal_errors(true);
$dom->loadHTML($html);
libxml_clear_errors();

// 初始化XPath对象
$xpath = new DOMXPath($dom);
// 用XPath表达式匹配class为指定值的div
$targetNodes = $xpath->query('//div[@class="b3id-instrument-details-label"]');

$textList = [];
foreach ($targetNodes as $node) {
    $textList[] = trim($node->nodeValue);
}

echo implode("\n", $textList);
?>

两种方法的输出结果都符合预期:

Text 1
Text 2

内容的提问来源于stack exchange,提问作者Süleyman Hamdi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 01:20:20