0


PHPのPCREを使用して、(彼のIDに基づいて)divからデータをフェッチしようとしています。目標は、彼のIDに基づいてdivのコンテンツをフェッチし、再帰性/深さを使用してその中のすべてを取得することです。ここでの主な問題は、「メインdiv」内に他のdivを取得することです。これは、正規表現が</div>最初の。の後に検出された次のdivを取得すると停止するため<div id="test">です。

私はこの主題に対して非常に多くの異なるアプローチを試みましたが、どれもうまくいきませんでした。私の意見では、最善の解決策はRパラメーター(再帰)を使用することですが、正しく機能させることはできませんでした。

何かアイデアはありますか?

よろしくお願いします:D

4

1 に答える 1

1

何らかの形式のDOMパーサーを使用する方がはるかに良いでしょう-正規表現は実際にはこの問題には適していません。基本的なHTMLDOM解析だけが必要な場合は、simplehtmldomのようなものがすぐに利用できます。インストールするのは簡単で(単一のPHPファイルを含めるだけ)、使用するのも簡単です(2〜3行で必要な処理を実行できます)。

include('simple-html-dom.php');

$dom = str_get_html($bunchofhtmlcode);
$testdiv = $dom->find('div#test',0); // 0 for the first occurrence
$testdiv_contents = $testdiv->innertext;
于 2009-09-03T23:59:16.633 に答える