1

PHP と QueryPath ライブラリを使用して、いくつかの古い HTML ファイルからデータを抽出しています。必要な要素に一意の css3 ID またはクラスがある場合、抽出は簡単ですが、常にそうとは限りません。次のタイプのデータを含むファイルがいくつかあります。

<div id="dataDiv">
<div class="1">Heading1</div><div class="2" title="">Data1</div>
<div class="1">Heading2</div><div class="2" title="">Data2</div>
</div>

QueryPath を使用して、特定のテキスト文字列 ("Heading2" など) を含むクラス "1" の DIV を検索し、そのすぐ隣にあるクラス 2 の兄弟 div 内のテキストを取得したいと考えています。(この場合、「Data2」が取得されます)。

含まれているテキストに基づいて要素に移動できる組み込みの機能は QueryPath にありますか? もしそうなら、その要素を見つけたら、次の兄弟要素のコンテンツ テキストを取得するにはどうすればよいでしょうか?

4

2 に答える 2

1

私の自然な考えは、not()関数です。例 :

$qp2 = qp($tb)->find('table tr')->not('table tr table tr'); 
于 2011-12-08T21:48:01.533 に答える
0

CSS 3 で兄弟演算子を使用します。

qp($html, 'div.1:contains("Heading1") + div.2')->text();

上記は<div class="1">、見出しがHeading1である取得し、クラスが である隣接する兄弟を取得し2ます。

于 2012-05-23T02:43:29.893 に答える