使用 PHP 提取具有特定类的 div 标签

Posted

技术标签:

【中文标题】使用 PHP 提取具有特定类的 div 标签【英文标题】:Extract div tags with specific class using PHP 【发布时间】:2012-10-20 17:07:22 【问题描述】:

有谁知道如何在 php 中只提取具有特定类的 div 标签?

<div class="abc">
</div>
<div class="def">
</div>
<div class="xyz">
</div>

我只需要 class="abc" 的 div。 我该如何实现?

【问题讨论】:

可能要求Best methods to parse html in PHP,但目前是 NARQ。 尝试使用 DOM,php.net/manual/en/book.dom.php 【参考方案1】:

你想要的是:XPath

<?php
$html = new DOMDocument();
@$html->loadHtmlFile('thepage.html');
$xpath = new DOMXPath( $html );
$nodelist = $xpath->query( "//*[contains(@class, 'abc')]" );
foreach ($nodelist as $n)
  echo $n->nodeValue."\n";

?>

[更新]

添加了新的 xpath 查询。 试试看。

【讨论】:

感谢您的回答。但它的给予并没有给我我需要的结果。 DOMNodeList 对象 ( [length] => 0 ) 文件是否位于同一台服务器上?还是远程文件?

以上是关于使用 PHP 提取具有特定类的 div 标签的主要内容,如果未能解决你的问题,请参考以下文章

BeautifulSoup 有多个标签,每个标签都有一个特定的类

使用xpath提取页面所有a标签的href属性值

如何使用 PHP 从 XML“链接”标签中提取“href”属性?

使用特定类抓取所有 div 标签的内容

如何计算具有特定类的 DIV

如何从具有相同类的页面中的两个表中提取数据?