dongshadu2546 2013-09-04 16:18
浏览 32
已采纳

适用于YouTube视图的Preg_Match

I'm new to php and i'm facing this problem. Need some help in matching the youtube views preg_match. The below codes posted are the codes i made for the preg match but these are not working. Can anyone help me out.

      if($row['type']=="Views"){
      $data = $row['data'];
      $type = "YouTube Views";
      //INSTAGRAM
$file = @file_get_contents($data);
preg_match('/\"watch-view-count":(.*?)\,/',$file,$mfc);  
$ccnt = $mfc[1];
//INSTAGRAM
      }
       if($row['type']=="Views"){
      $data = $row['data'];
       $type = "YouTube Views";
           //Views
$file = @file_get_contents($data) or die("YouTube Offline ? :/");
preg_match('/\"watch-view-count":(.*?)\,/',$file,$mfc);               
$ccnt = $mfc[1];

$data = http://www.youtube.com/watch?v=BPmhFrwDJTo I need the preg_match to get the current count of views in the youtube video. I'm really sorry for the bad grammar.

  • 写回答

1条回答 默认 最新

  • drblhw5731 2013-09-04 16:23
    关注

    Don't use regex for parsing HTML. Use a DOM Parser instead. It'll be more efficient.

    In this case, you can simple use the Youtube API:

    <?php
    $video_ID = 'BPmhFrwDJTo';
    $JSON = file_get_contents("https://gdata.youtube.com/feeds/api/videos/{$video_ID}?v=2&alt=json");
    $JSON_Data = json_decode($JSON);
    $views = $JSON_Data->{'entry'}->{'yt$statistics'}->{'viewCount'};
    echo $views.' views';
    ?>
    

    Output:

    7 views
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?