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.
<?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;
?>
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. ^^
ç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);
?>
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.
Bonsoir,
oui oui et c'est pas ça que je veux, je n'arrive pas a faire marcher comme je le voudrais
Dans ton cas il faut utiliser les expressions régulières (= regex). On te donne la piste, à toi de l'explorer. ;)
Voilà qui devrait t'aider : http://www.grafikart.fr/tutoriels/php/expression-reguliere-86
ç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
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.