PHP - embed youtube / vimedo video iz URL-ja

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

haha, itak da smo vsi razumeli....grem pogooglat kaksne specifikacije ima vileda za embedded code

Skopiraj kodo iz Wordpressa. Imajo vsaj 15 teh servicov podprtih.

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&amp;byline=0&amp;portrait=0&amp;color=ffffff" width="'.$width.'" height="'.$height.'" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>',
            $content
        );
        return $content;
    }
1