如何删除特定类容器内的链接(php scrape)?

时间:2011-03-11 00:34:34

标签: php web-scraping

我正在使用php来抓取页面。如何在保持名称显示的同时从具有特定类的div中删除链接?

e.g。

<p>Our list of teachers:</p>
<div class="teacher"><a href="...">John Brown</a></div>
<div class="teacher"><a href="...">Peter Smith</a></div>
<div class="teacher"><a href="...">Jane Doe</a></div>

感谢您的帮助, 杰夫

3 个答案:

答案 0 :(得分:0)

DOMDocument(用于解析)和DOMXPath(用于选择)将允许您轻松获取该文本。

答案 1 :(得分:0)

使用PHPQuery,一种以类似JQuery的方式操作DOM的方法。

答案 2 :(得分:0)

phpQuery或QueryPath显着简化了这一点。但是要用一个实际的例子来提供答案:

$dom = qp($html);  // or $url
foreach ($dom->find("div.teacher a") as $a) {
    $a->replaceWith( $a->text() );
}
$html = $dom->writeHTML();