0

情報を抽出しようとしているかなり大きな HTML ドキュメントがあります。おそらくDOMDocumentオブジェクトとxPathを使用する必要があることがわかりました。特定の DIV の内容を返す必要があります。良いニュースは、クラス タグが関連付けられていることです。悪いニュースは、他の DIV のいくつかのレイヤー内の HTML ドキュメント内の特定されていない場所に埋め込まれており、その場所が変更される可能性があることです。だから、divの内容を返すために探しているもの。

<div class='target'>Return all of this stuff</div>

トリックは、この特定のdivが配置される特定の場所がわからないことにあるようです。「ターゲットのクラス名を持つdivのDOM全体を検索する」と言う方法が必要です。複数の共同保険があるかもしれませんが、おそらくそうではありません。ただし、おそらく要素の内容の配列を取得したら、そこから取得できます。繰り返しますが、PHP 5.4 を使用します。

4

2 に答える 2

2

必要な xpath クエリは次のとおりです。

$query = "//div[@class='target']";

DOMXPathメソッドを呼び出すことにより、オブジェクトで使用できますquery

于 2013-02-15T03:42:30.000 に答える
0

私の理解が正しければ、これはネイティブ php 文字列処理だけで実現できます。

の線に沿って何かを試しましたか。

$start = stripos($STRINGYOUARESEARCHING, "<div class='target'>")
$end= stripos($STRINGYOUARESEARCHING, "</div>",start);
$contents= substr($STRINGYOUARESEARCHING, $start, $end-$start)

これがあなたが探している種類の答えでない場合は教えてください...ここで、ターゲットを含む大きなHTMLブロックがあると思いますか?

(注: $end または $start をオフセットする必要がある場合があります。strlen(<div class='target'>)

于 2013-02-15T03:43:56.300 に答える