Parsing youtube video id

Discussion in 'Coding Help' started by johned, Jul 9, 2008.

  1. johned

    johned New Member

    Has anyone got any experience parsing the video id from youtube urls in php.

    ie.
    youtube.com/watch?v=R0BA-KviNO4&feature=related

    Where the red is the part I want.
     
  2. Forbairt

    Forbairt Portfolio Building

    what language ?
     
  3. Forbairt

    Forbairt Portfolio Building

    actually judging on your selfmade cms ...

    I'll assume php ?

    Code:
    
    $string = "youtube.com/watch?v=R0BA-KviNO4&feature=related";
    
    preg_match('/v\=(.+)&/',$string,$matches);
    
    echo $matches[1];
    
    
    do a semi ok job for you ?
     
  4. johned

    johned New Member

    I just cracked it without regular expressions from a little googling.

    Here is the code it allows you to enter the url of a youtube vid in to a form and the code processes the form to parse the video id and insert it in to an embed code with preset values.

    PHP:
    //parse the id from the url
    $url $_POST['id'];
    $vidparser parse_url($url);
    parse_str($vidparser[query], $query);
    $vidid = ($query['v']);
     
     
    //get the video id in to the embed code
    $content "<object width=\"290\" height=\"235\"><param name=\"movie\" value=\"http://www.youtube.com/v/".$vidid."&hl=en&fs=1&rel=0\"></param><param name=\"allowFullScreen\" value=\"true\"></param><embed src=\"http://www.youtube.com/v/".$vidid."&hl=en&fs=1&rel=0\" type=\"application/x-shockwave-flash\" allowfullscreen=\"true\" width=\"290\" height=\"235\"></embed></object>";
     
    seems to work well! I wrote it to a text file for include..

    cheers for your help..
     
  5. Forbairt

    Forbairt Portfolio Building

    ah fair enough I'd assumed it'd be part of a multiline post or something similar not just a URL you had
     
  6. johned

    johned New Member

    No probs just finished it now and i can use the form to send sizes etc to the embed code.. Just hope they dont change anything on there side now lol .
     

Share This Page