How to embed YouTube videos?
Can anyone give me an idea how can we show or embed a YouTube video if we just have the URL or the Embed code?
Verified Answer (88 Votes) ✓
You have to ask users to store the 11 character code from the youtube video.
The eleven character code is : Ahg6qcgoay4
You then take this code and place it in your database. Then wherever you want to place the youtube video in your page, load the character from the database and put the following code:-
e.g. for Ahg6qcgoay4 it will be :
<object width="425" height="350" data="http://www.youtube.com/v/Ahg6qcgoay4" type="application/x-shockwave-flash"><param name="src" value="http://www.youtube.com/v/Ahg6qcgoay4" /></object>
Answer #2 (51 Votes)
Do not store the embed code in your database -- YouTube may change the embed code and URL parameters from time to time. For example the
<object> embed code has been retired in favor of
<iframe> embed code. You should parse out the video id from the URL/embed code (using regular expressions, URL parsing functions or HTML parser) and store it. Then display it using whatever mechanism currently offered by YouTube API.
A naive PHP example for extracting the video id is as follows:
<?php preg_match( '/[\\?\\&]v=([^\\?\\&]+)/', 'http://www.youtube.com/watch?v=OzHvVoUGTOM&feature=channel', $matches ); // $matches should contain the youtube id ?>
I suggest that you look at these articles to figure out what to do with these ids:
To create your own YouTube video player:
Answer #3 (17 Votes)
From both long and short youtube urls you can get the embed this way:
$ytarray=explode("/", $videolink); $ytendstring=end($ytarray); $ytendarray=explode("?v=", $ytendstring); $ytendstring=end($ytendarray); $ytendarray=explode("&", $ytendstring); $ytcode=$ytendarray; echo "<iframe width=\"420\" height=\"315\" src=\"http://www.youtube.com/embed/$ytcode\" frameborder=\"0\" allowfullscreen></iframe>";
Hope it helps someone