0

私はここで他のいくつかのスレッドを検索しましたが、完璧な解決策を見つけられませんでした

次のレイアウトの場合

    <html>
<div>   <---- This one
      <div> text </div>
      <div> text </div>
</div> 
<p> text </p>
 <div>  <---- This one
      <div> text </div>
      <div> text </div>
</div>  
<p> text </p>
</html> 

トップレベルのdivのみを取得するにはどうすればよいですか。(注:内部の2つのdivは単なる例であり、1つだけ、または5または6の場合があります。

注:これが関連する残りのコードは、Simple html domを使用しています。これを使用するには、これが必要です。

4

1 に答える 1

2

1 つの可能性はXPathを使用することです。次のようになります。

<?php
$doc = new DOMDocument();
// one of the few cases where you may use error suppression
@$doc->loadHTML($yourHtml);

$xPath = new XPath($doc);
$nodes = $xPath->query('//html/div');

免責事項:私はこれをテストしていませんが、少なくともあなたを近づけるはずです

于 2012-11-08T13:29:25.877 に答える