2017-02-07 5 views
1

これは私が廃棄のための単純なHTML DOMのPHPライブラリを使用しています、私のHTML2つのタグ間の要素を取得する方法の簡単なHTML DOM

<b><font color="Red">Flash Player 720p HD Quality Online Links</font></b> 
     <br> 
     <br> 
     <a href="http://bestarticles.me/jaana-na-dil-se-door/?si=5325359" target="_blank">Jaana Na Dil Se Door 6th February 2017 Watch Online Video- Part 1</a> 
     <br> 
     <a href="http://bestarticles.me/jaana-na-dil-se-door/?si=5325360" target="_blank">Jaana Na Dil Se Door 6th February 2017 Watch Online Video- Part 2</a> 
     <br> 
     <br> 
     <b><font color="Red">Dailymotion 720p HD Quality Online Links</font></b> 
     <br> 
     <br> 
     <a href="http://bestarticles.me/jaana-na-dil-se-door/?si=k4r2rHPOgem8yAlGqjj" target="_blank">Jaana Na Dil Se Door 6th February 2017 Watch Online Video- Part 1</a> 
     <br> 
     <a href="http://bestarticles.me/jaana-na-dil-se-door/?si=k63MLC2Vq6fxsPlGqjp" target="_blank">Jaana Na Dil Se Door 6th February 2017 Watch Online Video- Part 2</a> 
     <br> 
     <br> 
     <b><font color="Red">TVLogy 720p HD Quality Online Links</font></b> 
     <br> 
     <br> 
     <a href="http://reviewtv.in/star-plus/?si=YD29025" target="_blank">Jaana Na Dil Se Door 6th February 2017 Watch Online Video- Part 1</a> 
     <br> 
     <a href="http://reviewtv.in/star-plus/?si=YD29026" target="_blank">Jaana Na Dil Se Door 6th February 2017 Watch Online Video- Part 2</a> 
     <br> 
     <br> 
     <b><font color="Red">Letwatch 720p HD Quality Online Links</font></b> 
     <br> 
     <br> 
     <a href="http://www.tellycolors.me/star-plus/?si=j3vpekz3jeiv" target="_blank">Jaana Na Dil Se Door 6th February 2017 Watch Online Video - Part 1</a> 
     <br> 
     <a href="http://www.tellycolors.me/star-plus/?si=bdjg53bz9gdi" target="_blank">Jaana Na Dil Se Door 6th February 2017 Watch Online Video - Part 2</a> 
     <br> 
     <br> 
     <b><font color="Red">Vidwatch 720p HD Quality Online Links</font></b> 
     <br> 
     <br> 
     <a href="http://hd-rulez.info/vidwatch.php?id=73sbn356g9nc" target="_blank">Jaana Na Dil Se Door 6th February 2017 Watch Online Video - Part 1</a> 
     <br> 
     <a href="http://hd-rulez.info/vidwatch.php?id=73x796cifyvq" target="_blank">Jaana Na Dil Se Door 6th February 2017 Watch Online Video - Part 2</a> 
     <br> 
     <br> 

です。 <b>タグをアンカータグでスクラップしたい<b>の各要素には、それぞれ<a>のアンカーセットがあります。だから私はこのようにスクラップしたい

array(
     'Flash Player' => array('link1', 'link2'), 
     'Daiylymotion' => array('link1', 'link2', 'link3'), 
     etc... 
); 

これは私がやっていることです。最初にすべての<br>タグをエスケープした後、すべて<b>タグの次の兄弟を取得しようとしていますが、$ b-> next_sibling()によってタグのタグを取得しようとしていますが、エスケープすると<br>タグのインデックスは更新されません。ここに私のコード

$html = str_get_html($html); 
$content = $html->find('div.postcontent',0); 

    //escape all br 
    foreach($content->find('br') as $br){ 
     $br->outertext = ''; 
    } 

    foreach($content->find('b') as $key => $b){ 


     echo $b->plaintext; 

    } 

は別の戦略とその<a>タグと<b>を廃棄によって私を助けてくださいです。ありがとうございます

答えて

0

他の簡単な方法があるかどうかわかりません。しかし、このコードでは、それぞれの<b>タグが正確に2つの<a>タグを持っている限り、望ましい出力を得られます。

$aCount = 0; 
    $result = array(); 
    foreach($content->find('b') as $key => $b){ 
     $index = $b->plaintext; 
     for($i=0;$i<2;$i++){ 
      $result[$index][] = $content->find('a',$aCount++)->href; 
     }  
    } 
    print_r($result); 

出力は

Array 
(
    [Flash Player 720p HD Quality Online Links] => Array 
     (
      [0] => http://bestarticles.me/jaana-na-dil-se-door/?si=5325359 
      [1] => http://bestarticles.me/jaana-na-dil-se-door/?si=5325360 
     ) 

    [Dailymotion 720p HD Quality Online Links] => Array 
     (
      [0] => http://bestarticles.me/jaana-na-dil-se-door/?si=k4r2rHPOgem8yAlGqjj 
      [1] => http://bestarticles.me/jaana-na-dil-se-door/?si=k63MLC2Vq6fxsPlGqjp 
     ) 

    [TVLogy 720p HD Quality Online Links] => Array 
     (
      [0] => http://reviewtv.in/star-plus/?si=YD29025 
      [1] => http://reviewtv.in/star-plus/?si=YD29026 
     ) 

    [Letwatch 720p HD Quality Online Links] => Array 
     (
      [0] => http://www.tellycolors.me/star-plus/?si=j3vpekz3jeiv 
      [1] => http://www.tellycolors.me/star-plus/?si=bdjg53bz9gdi 
     ) 

    [Vidwatch 720p HD Quality Online Links] => Array 
     (
      [0] => http://hd-rulez.info/vidwatch.php?id=73sbn356g9nc 
      [1] => http://hd-rulez.info/vidwatch.php?id=73x796cifyvq 
     ) 

) 
のようになります
関連する問題