How to get the youtube url from the below link?
<iframe title="YouTube video player" width="640" height="390"
src="http://www.youtube.com/embed/VvJ037b_kLs"
frameborder="0" allowfullscreen></iframe>
You can use regex and preg_match function
preg_match('/src="([^"]+)"/', $iframe_string, $match);
$url = $match[1];
UPDATE if you have page generated with php or as inline html in php file, you can use buffers to get html out of php and then use regex on it:
first use ob_start();
at the beginning of your page code or if you have some html before your php you can use it for whole page by adding:
<?php ob_start(); ?>
and the beginning of the php file, then at the end, you can get ob buffer in string and applying the regex:
<?php ob_start(); ?>
<iframe src="foo.bar"></iframe>
<iframe src="baz"></iframe>
<?php
$output = ob_get_contents();
ob_end_clean();
// find all iframes generated by php or that are in html
preg_match_all('/<iframe[^>]+src="([^"]+)"/', $output, $match);
$urls = $match[1];
echo $output;
?>
public function makeiframevideo($url)
{
// Youtube
$ytRegExp = "/^(?:https?:\/\/)?(?:www\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))((\w|-){11})(?:\S+)?$/";
preg_match($ytRegExp, $url, $ytMatch);
if ($ytMatch && strlen($ytMatch[1]) === 11) {
return "<iframe frameborder=\"0\" allowfullscreen class=\"pull-left\" id=\"ytplayer\" type=\"text/html\" width=\"100%\" height=\"405\" src=\"//www.youtube.com/embed/{$ytMatch[1]}?showinfo=0\" ></iframe>";
}
// Instagram
$igRegExp = "/^(?:https?:\/\/)?(?:www\.)?instagram.com\/p\/(.[a-zA-Z0-9\_]*)/";
preg_match($igRegExp, $url, $igMatch);
if ($igMatch && strlen($igMatch[0])) {
return "<iframe frameborder=\"0\" allowfullscreen class=\"pull-left\" id=\"ytplayer\" type=\"text/html\" width=\"100%\" height=\"405\" src='{$igMatch[0]}/embed/' ></iframe>";
}
// Vine
$vRegExp = "/^(?:https?:\/\/)?(?:www\.)?vine.co\/v\/(.[a-zA-Z0-9]*)/";
preg_match($vRegExp, $url, $vMatch);
if ($vMatch && strlen($vMatch[0])) {
return "<iframe frameborder=\"0\" allowfullscreen class=\"pull-left\" id=\"ytplayer\" type=\"text/html\" width=\"100%\" height=\"405\" src='{$vMatch[0]}/embed/simple' ></iframe>";
}
// Vimeo
$vimRegExp = " /\/\/(player.)?vimeo.com\/([a-z]*\/)*([0-9]{6,11})[?]?.*/";
preg_match($vimRegExp, $url, $vimMatch);
if ($vimMatch && strlen($vimMatch[3])) {
return "<iframe frameborder=\"0\" allowfullscreen class=\"pull-left\" id=\"ytplayer\" type=\"text/html\" width=\"100%\" height=\"405\" src='//player.vimeo.com/video/{$vimMatch[3]}' ></iframe>";
}
// Dailymotion
$dmRegExp = "/.+dailymotion.com\/(video|hub)\/([^_]+)[^#]*(#video=([^_&]+))?/";
preg_match($dmRegExp, $url, $dmMatch);
if ($dmMatch && strlen($dmMatch[2])) {
return "<iframe frameborder=\"0\" allowfullscreen class=\"pull-left\" id=\"ytplayer\" type=\"text/html\" width=\"100%\" height=\"405\" src='//www.dailymotion.com/embed/video/{$dmMatch[2]}' ></iframe>";
}
// Youku
$youkuRegExp = "/\/\/v\.youku\.com\/v_show\/id_(\w+)/";
preg_match($youkuRegExp, $url, $youkuMatch);
if ($youkuMatch && strlen($youkuMatch[1])) {
return "<iframe frameborder=\"0\" allowfullscreen class=\"pull-left\" id=\"ytplayer\" type=\"text/html\" width=\"100%\" height=\"405\" src='//player.youku.com/embed/{$youkuMatch[1]}' ></iframe>";
}
$mp4RegExp = '/^.+.(mp4|m4v)$/';
preg_match($mp4RegExp, $url, $mp4Match);
$oggRegExp = '/^.+.(ogg|ogv)$/';
preg_match($oggRegExp, $url, $oggMatch);
$webmRegExp = '/^.+.(webm)$/';
preg_match($webmRegExp, $url, $webmMatch);
if ($mp4Match || $oggMatch || $webmMatch) {
return $url;
}
return "";
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With