58 votes

Comment intégrer des vidéos YouTube en PHP?

Quelqu'un peut-il me donner une idée de la façon dont nous pouvons afficher ou intégrer une vidéo YouTube si nous ne disposons que de l'URL ou du code Embed?

92voto

Alec Smart Points 14075

Vous avez qu'à demander aux utilisateurs de stocker le 11 code de caractère à partir de la vidéo youtube.

Par exemple http://www.youtube.com/watch?v=Ahg6qcgoay4

Le onze de code de caractère est : Ahg6qcgoay4

Vous prenez alors ce code et de le placer dans votre base de données. Alors, où que vous voulez placer la vidéo youtube dans votre page, charge le caractère à partir de la base de données et de mettre le code suivant:-

par exemple, pour Ahg6qcgoay4, ce sera :

<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>

53voto

Salman A Points 60620

Ne pas stocker le code d'intégration dans votre base de données -- YouTube peut changer le code embed et les paramètres d'URL, de temps à autre. Par exemple, l' <object> code d'intégration a été mis à la retraite en faveur de l' <iframe> code embed. Vous devez analyser la vidéo id de l'URL/embed code (à l'aide d'expressions régulières, l'URL de l'analyse des fonctions ou de l'analyseur HTML) et de les stocker. Puis l'afficher à l'aide quel que soit le mécanisme actuellement offertes par les API YouTube.

Je vous suggère de regarder ces articles pour savoir quoi faire avec ces identifiants:

Un naïf en PHP, par exemple pour l'extraction de la vidéo id est comme suit:

<?php
    preg_match(
        '/[\\?\\&]v=([^\\?\\&]+)/',
        'http://www.youtube.com/watch?v=OzHvVoUGTOM&feature=channel',
        $matches
    );
    // $matches[1] should contain the youtube id
?>

Pour créer votre propre lecteur de vidéo de YouTube:

17voto

fanky Points 91

À partir des URL youtube longues et courtes, vous pouvez obtenir l’intégration suivante:

 $ytarray=explode("/", $videolink);
$ytendstring=end($ytarray);
$ytendarray=explode("?v=", $ytendstring);
$ytendstring=end($ytendarray);
$ytendarray=explode("&", $ytendstring);
$ytcode=$ytendarray[0];
echo "<iframe width=\"420\" height=\"315\" src=\"http://www.youtube.com/embed/$ytcode\" frameborder=\"0\" allowfullscreen></iframe>";
 

J'espère que ça aide quelqu'un

7voto

hasenj Points 36139

Utiliser une regex pour extraire la vidéo "id" après l' watch?v=

Stocker la vidéo id dans une variable, appelons cette variable vid

Obtenir le code d'intégration d'une vidéo aléatoire, retirer la vidéo id dans le code d'intégration et de le remplacer avec de l' vid que vous avez obtenu.

Je ne sais pas comment traiter avec les regex en php, mais il ne devrait pas être trop dur

Voici un exemple de code en python:

>>> ytlink = 'http://www.youtube.com/watch?v=7-dXUEbBz70'
>>> import re
>>> vid = re.findall( r'v\=([\-\w]+)', ytlink )[0]
>>> vid
'7-dXUEbBz70'
>>> print '''<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/%s&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/%s&hl=en&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>''' % (vid,vid)
<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/7-dXUEbBz70&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/7-dXUEbBz70&hl=en&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>
>>>

L'expression régulière v\=([\-\w]+) la capture d'une (sous -) chaîne de caractères et les traits qui vient après l' v=

3voto

CMS Points 315406

Si vous souhaitez télécharger des vidéos par programme, consultez l’ API de données YouTube pour PHP.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X