Using regular Expressions to strip Youtube URL from Movie ID

Hi I have a site which allows users to enter their details along with a youtube video link. This then gets added to a database. I want a page which displays all the submitted videos, using the Youtube API…

I’ve worked out how to pull the Videoentry meta data to create thumbnails for a video… but I want to grab the full url which the user entered from my database… run it through some regular expressions to get rid of the http://www.youtube.com/watch?v=TF3fCM0c7xE(red part) and store the id in a variable. I want to then call the meta data based on the video id using the:

$videoEntry = $yt->getVideoEntry(‘TF3fCM0c7xE’);

Can anyone help me with this?

Thank you

Force Flow, good suggestion with parse_url() to get the query string. However, why explode/substr when you could make good use of [url=http://php.net/parse_str]parse_str()?


$url = 'http://www.youtube.com/watch?v=TF3fCM0c7xE';
parse_str(parse_url($url, PHP_URL_QUERY), $query);
$video_id = isset($query['v']) ? $query['v'] : NULL;

Of course, Owz2004, if you really want/need a regular expression to do this for you then just let us know. (:

You can use this:

http://www.php.net/manual/en/function.parse-url.php

And use explode() with the & symbol on the query section of the URL.

Then, search exploded array for ‘v=’ and retrieve the value following ‘v=’ using substr().