2017-04-30 7 views
1

とPHPでパースHTMLのiFrame SRCこの私のHTMLはどのように見えるかのように:SimpleHTMLDOM

foreach($html->find('div.academy_page') as $element){ 

     foreach($element->find('div.videopage_block') as $dulce) { 

      $item['title'] = $dulce->find('div.academy_text', 0)->plaintext; 
      $item['vimeo_url'] = $dulce->find('iframe')->src; 

      $returnArray[] = $item; 
     } 
    } 

これは、JSONの私の結果である:

<div class="academy_page"> 
    <span class="academy_page_header">Academy:</span> 
    <div> 
     <div class="videopage_block" align="center"> 
      <iframe class="videopage_video" src="//player.vimeo.com/video/67353453644?title=0&amp;byline=0&amp;portrait=0" width="300" height="150" frameborder="0" allowfullscreen="allowfullscreen"></iframe> 
      <div class="academy_text">How to Ride a Skateboard</div> 
     </div> 
     <div class="videopage_block" align="center"> 
      <iframe class="videopage_video" src="//player.vimeo.com/video/9435345343?title=0&amp;byline=0&amp;portrait=0" width="300" height="150" frameborder="0" allowfullscreen="allowfullscreen"></iframe> 
      <div class="academy_text">How to Build a Skateboard</div> 
     </div> 
</div> 

これは私がそれを解析しています方法です

[ 
    { 
    "title": "How to Ride a Skateboard", 
    "vimeo_url": null 
    }, 
    { 
    "title": "How to Build a Skateboard", 
    "vimeo_url": null 
    } 
] 

iFrame SRCの入手方法を教えてください。動画IDを取得するには

$dom = new DOMDocument(); 
$dom->loadHTML($html); 
$xpath = new DOMXpath($dom); 
foreach ($xpath->query("//div[@class='videopage_block']") as $node){ 

    echo $node->getElementsByTagName('iframe')[0]->getAttribute("src"); 
    echo $node->getElementsByTagName('div')[0]->nodeValue; 
} 

アップデート:私はまた$item['vimeo_url'] = $dulce->find('.videopage_video')->plaintext;と何

答えて

1

私はあなたが使用することができますねを試してみた

$iframe_src = $node->getElementsByTagName('iframe')[0]->getAttribute("src") 
$video_id = preg_replace('%.*?video/(\d+)\?.*%i', '$1', $iframe_src); 
+0

これは私がすでに持っているものにどのように組み込むのですか?それが私が必要とする唯一のものならば、srcを手に入れる簡単な方法のように見える – Walker

+0

OK、私は私の答えにいくつかの調整を加えるでしょう。 –

+0

それを感謝するPedro – Walker

関連する問題