2011-03-11 11 views
0

私はページをスクラップするためにPHPを使用しています。名前を表示したまま特定のクラスを持つdiv内のリンクを削除するにはどうすればよいですか?特定のクラスコンテナ(php scrape)内のリンクを削除するには?

任意の助け

<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> 

おかげで、 ジェフ(解析用)

答えて

0

DOMDocumentDOMXPath(選択)を使用すると、簡単にそのテキストを取得できるようになります。

0

PHPQueryは、JQueryのような方法でDOMを操作する方法です。

0

phpQueryまたはQueryPathこれを大幅に簡略化します。実際の例を使って答えを出すには:

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

ありがとうございます。私はphpQueryに慣れていません - それを使用するのは何ですか?それは単なる図書館へのリンクですか? – Geoff

+0

はい、DOMDocumentのライブラリラッパーです(それ自体は少し面倒です)。 phpQueryはより良い文書を持っていますが、QueryPathでは 'qp($ html)'を書くことができます。これは私がそれを好む理由です。 compact関数呼び出しを利用するには、ダウンロードしてinclude()する必要があります。 – mario

+0

ありがとうMario、遅れて答えを残して申し訳ありませんが(私はしばらくそれを保留しなければなりませんでした)これは実際には既存のスクリプトの一部です - phpQueryライブラリやQueryPathライブラリなしで行うことは可能ですか? ? – Geoff

関連する問題