Convertir url youtube en vidéo

Par boblecroque, il y a 10 ans


Bonjour,

Voila je rencontre un petit problème, je suis entrain de faire un mini-réseau social et je n'arrive pas à transformer les url youtube en embed pour afficher le player de la vidéo youtube.

Enfete c'est un systeme de publication et lorsque qu'on colle un lien youtube "https://www.youtube.com/watch?v=xx" j'aimerais que sa le transforme en iframe avec le player youtube mais tout en gardant le contenu de la publication

Par exemple quelq'un poste :

Regarder ce fou !! https://www.youtube.com/watch?v=zNS_jX2FlS4

Je veux que saffiche :
Regarder ce fou !!
##player video youtube##

J'ai deja essayer avec preg_match ou bien str_replace etc mais je n'arrive pas aidez moi svp.

8 réponses

Aymerik54, il y a 10 ans

C'est tout simple avec les regex :

<? $str = preg_replace('#http://www.youtube.com/watch\?v=(.+)+#i', '<iframe width="450" src="http://www.youtube.com/embed/$1" frameborder="0" allowfullscreen></iframe>', $str); ?>

Après tu peux adapter pour que ça convertisse aussi les liens vers la version mobile de Youtube s'il le faut. ^^

boblecroque, il y a 10 ans

Bonsoir,
oui oui et c'est pas ça que je veux, je n'arrive pas a faire marcher comme je le voudrais

boblecroque, il y a 10 ans

ça ne fonctionne pas ça m'affiche rien du tout,

                <?php
                $str = $message['PostContent'];
                $str = preg_replace('#http://www.youtube.com/watch\?v=(.+)+#i', '<iframe width="450" src="http://www.youtube.com/embed/$1" frameborder="0" allowfullscreen></iframe>', $str);
                ?>
Lartak, il y a 10 ans

Bonsoir.
Tu as bien modifié PostContent par le véritable nom de l'input de ton formulaire ?
Et puis l'exemple que Aymerik54 t'a donné, ne sert qu'à parser l'url YouTube pour récupérer la valeur de v= et non pour récupérer ce qui a pu être posté avant et/ou après le lien.

Benjamin Derepas, il y a 10 ans

ça ne fonctionne pas ça m'affiche rien du tout
oui oui et c'est pas ça que je veux, je n'arrive pas a faire marcher comme je le voudrais

Regarde ici ça t'aidera

Lartak, il y a 10 ans

oui oui et c'est pas ça que je veux, je n'arrive pas a faire marcher comme je le voudrais

Nous n'allons pas te faire le code à ta place, nous t'aidons en t'aiguillant sur des pistes et solutions.
Tu peux aussi regarder un des tutoriels de Grafikart, ça t'aidera bien , par exemple : Les expressions régulières ou encore BBCode.

zkiller, il y a 10 ans
<?php $str = "Regarder ce fou !!\nhttp://www.youtube.com/watch?v=zNS_jX2FlS4\nun vrais fou !"; $str = preg_replace('#http://www.youtube.com/watch\?v=([a-z0-9A-Z_-]+)+#i', '<iframe width="450" src="http://www.youtube.com/embed/$1" frameborder="0" allowfullscreen></iframe>', $str); echo $str; ?>