1

こんにちは私はデータを抽出している場所の子タグであるスパンタグを解析したくありません.....

Ex:- <a class="imp">
     Some data 1 2 3
     <span>
      Unwanted Data
     </span>
     </a>

私が使用しているコード:-

  foreach($html->find(a.imp) as $value)
   {
          echo $value->innertext;
   }

Output:-
Some data 1 2 3
Unwanted Data...

 Desired output:-
 Some data 1 2 3

子タグを含めることができないように、関数や方法はありませんか?

4

3 に答える 3

5

最初の結果セットをループして、すべてのスパン要素を見つけ、各スパン要素の外部テキストを空の文字列に設定して、その要素のHTML全体を削除する必要があると思います。

foreach($html->find('a.imp') as $value)
{
    foreach($value->find('span') as $e)
    {
        $e->outertext = '';
    }

    echo $value->innertext;
}
于 2013-03-21T13:04:13.510 に答える
0

単純なHTMLDOMパーサーが機能します。

$content = file_get_html($link);
$stuffiwant = $content->find("//a/text()");
var_dump($stuffiwant);
于 2013-03-21T12:55:11.833 に答える
0

シンプルに要素を削除するクリーンな方法があるとは思いません。phpqueryでは、次のことができます。

$doc->find('a.imp span')->remove();
echo $doc->find('a.imp')->text();
于 2013-03-21T23:00:43.760 に答える