3

HTML 構造:

   <div id="product">
     <p>some text</p>
     <p>some text2</p>
   </div>    

私のPHPコード:

$client = new Client();
$crawler = $client->request('GET', $url);
echo $crawler->filter('#product')->text();

戻り値:

some text some text2

しかし、私は必要です:

<p>some text</p>
<p>some text2</p>
4

1 に答える 1

6

さて、醜い方法が 1 つあります。ノードを反復処理する方法です。

$html = '';

foreach ($crawler as $domElement) {
    $html.= $domElement->ownerDocument->saveHTML();
}

または、あなたの場合、フィルタリングされた要素を反復処理する必要があります:

$html = '';     
$product = $crawler->filter('#produkt');
 
foreach ($product as $domElement) {
    foreach($domElement->childNodes as $node) {
        $html .= $domElement->ownerDocument->saveHTML($node);
    }
}

ドキュメントから

于 2013-02-28T10:52:26.007 に答える