PHP - embed youtube / vimedo video iz URL-ja
7 naročnikov
7 naročnikov
Ponavadi hitro najdem kakšne uporabne rešitve na spletu, ampak tokrat se mi je zataknilo.
Namreč potrebujem PHP skripto, ki bo na podlagi URL-ja generiral embed kodo za prikaz videa. Skripta prebere url in generira embed kodo, najsi bodi za vimeo ali youtube linke.
Primer URL-ja:
$url = 'http://vimeo.com/60855585';
ali
$url = 'http://www.youtube.com/watch?v=Q5mHPo2yDG8';
15 odgovorov
Lucifix:
@pavarti hvala, vendar iščem nekaj, kar bo prepoznali ali je string vsebuje URL od vimeo oz. youtube video.
Tole mi je google izpljunil:
http://stackoverflow.com/questions/10689935/youtube-and-vimeo-embed-code-parser-with-pcre-regex
s1l3:
http://autoembed.com/Sicer nisem nikoli poskusil ampak na prvi pogled deluje da je to, to kar rabiš
Sem se malo poigral s tem in skoraj dela kot urca. Nekaj problemov ima samo pri določanju višine / height videov (primer), ampak drugače pa 1A.
Hvala vsem za pomoč!
PS: vimedo, vimeo, vileda - saj ste me vsi razumeli :P
Tole sem napisal back in the days. Zamenja ti vse linke z embed kodo. Dela za youtube in vimeo. Popravi po potrebi. To je to:
static public function check_video_urls($content, $width=560, $height=315)
{
/**
* Youtube
*/
$content = preg_replace(
"@([^'^\"^>])http://youtu.be/(\w+)@",
'<iframe width="'.$width.'" height="'.$height.'" src="http://www.youtube.com/embed/$2" frameborder="0" allowfullscreen></iframe>',
$content
);
$content = preg_replace(
"@([^'^\"^>])http://www.youtube.com/watch\?v=(\w+).*?feature=share[\w|&|=|;]+@im",
'<iframe width="'.$width.'" height="'.$height.'" src="http://www.youtube.com/embed/$2" frameborder="0" allowfullscreen></iframe>',
$content
);
/**
* vimeo
*/
$content = preg_replace(
"@([^'^\"^>])http://vimeo.com/(\d+)([^<])@im",
'<iframe src="http://player.vimeo.com/video/$2?title=0&byline=0&portrait=0&color=ffffff" width="'.$width.'" height="'.$height.'" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>',
$content
);
return $content;
}