-1

こんにちは、すべてのサンプル コードは以下のとおりです。

  <?php 
  $html = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  <html xmlns="http://www.w3.org/1999/xhtml">
  <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>samplecode</title>
  </head>
  <body>
    <div id="warrper">
      <div class="box-title">This title is sample</div>
      <div class="box-maim">
        <div class="box-element-1">
           <ul>
              <li>sample 1</li>
              <li>sample 2</li>
              <li>sample 3</li>
              <li>sample 4</li>
              <li>sample 5</li>
           </ul>
        </div>
        <div class="box-element-1">
           <ul>
              <li>sample 1</li>
              <li>sample 2</li>
              <li>sample 3</li>
              <li>sample 4</li>
              <li>sample 5</li>
           </ul>   
        </div>
        <div class="box-element-1">
           <ul>
              <li>sample 1</li>
              <li>sample 2</li>
              <li>sample 3</li>
              <li>sample 4</li>
              <li>sample 5</li>
           </ul>
        </div>
      </div>
    </div>
  </body>
  </html> ';

   preg_match( '/<div class="box-maim">(.*?)<\/div>/si' , $html , $match );

   print_r($match);
  ?>

URLからhtmlをロードした後の私の目的は、選択したクラスのタグ部分のみをフェッチすることです。たとえば、以下のコードです。

  <div class="box-element-1">
     <ul>
        <li>sample 1</li>
        <li>sample 2</li>
        <li>sample 3</li>
        <li>sample 4</li>
        <li>sample 5</li>
     </ul>
  </div>
  <div class="box-element-1">
     <ul>
        <li>sample 1</li>
        <li>sample 2</li>
        <li>sample 3</li>
        <li>sample 4</li>
        <li>sample 5</li>
     </ul>   
  </div>
  <div class="box-element-1">
     <ul>
        <li>sample 1</li>
        <li>sample 2</li>
        <li>sample 3</li>
        <li>sample 4</li>
        <li>sample 5</li>
     </ul>
  </div>

しかし、私はその部分に対するこのアクションの正しい方法を知りません。

4

2 に答える 2

-1

適切に取得している場合は、次のように簡単に実行してください。

preg_match_all('/<div\s[^>]*class=\"box-element-([^\"]*)\"[^>]*>(.*)<\/div>/siU', $html, $matches, PREG_SET_ORDER);
echo '<pre>';
print_r($matches);
于 2013-09-27T05:48:41.907 に答える