Recupéré l'url
Salut as tous

Et oui toujours des problèmes >.<

Bon alors je fait un système pour mettre des videos sur mon site

J'ai essayer avec le html object embed ect... mais rien ne vas comme je veux
Donc je décide de prendre les videos sur youtube

Alors Imaginons le membre nous donne le lien http://www.youtube.com/watch?v=-qNIQ3vjKpc&hd=1
(Je ne fait pas de pub, c'est la video que je voudrais mettre en test Langue)

Pour que le html fonctionne le lien de la videos doit etre http://www.youtube.com/v/-qNIQ3vjKpc?ver...R&hd=1

Pour ensuite completer le script:

[code=html]
<object width="500" height="500"><param name="movie" value="{$Videos2}" >
<param name="allowFullScreen" value="true" Pinch/param>
<param name="allowscriptaccess" value="always"></param>
<embed src="{$Videos2}" type="application/x-shockwave-flash" width="500" height="500" allowscriptaccess="always" allowfullscreen="true">
</embed>
</object>
[/code]

Comment faire ???

PS: le lien de la videos est enregistrer dans une table de ma base de donné
Pourquoi tu n'utilises pas la méthode iframe proposé par youtube qui est tout de même plus simple :

Code :
<iframe width="560" height="345" src="http://www.youtube.com/embed/-qNIQ3vjKpc" frameborder="0" allowfullscreen></iframe>

Sinon dans tous les cas, il faut extraire l'identifiant de la vidéo dans l'url. Je n'ai rien pour testé du php car je suis au boulot, mais cette expression régulière devrait faire l'affaire :

[code=php]"/v=(.*)&?/"[/code]
Donc si je fait :

Code PHP :
$this->ResultatRecupLastVideos preg_replace('#v=-(.+)#isU''http://www.youtube.com/embed/-$1'$this->ResultRecupLastVideos['Lien']); 

Cela me revoie :

Code :
http://www.youtube.com/watch?v=-qNIQ3vjKpc

à la place de :
Code :
http://www.youtube.com/embed/-qNIQ3vjKpc
Tu concatène ta chaine avec une chaine étant : &hd=1

Tout con
Mise à jour u deuxième post Hihi
(29-08-2011 15:01)deathart a écrit :  Donc si je fait :

Code PHP :
$this->ResultatRecupLastVideos preg_replace('#v=-(.+)#isU''http://www.youtube.com/embed/-$1'$this->ResultRecupLastVideos['Lien']); 

Cela me revoie :

Code :
http://www.youtube.com/watch?v=-qNIQ3vjKpc

à la place de :
Code :
http://www.youtube.com/embed/-qNIQ3vjKpc

Le - fait parti de l'identifiant de ta vidéo, pas du lien.
Je te remet mon expression régulière ou cas ou tu aurais mal lu :

[code=php]"/v=(.*)&?/"[/code]

Et puis il faut lire un peu la doc de preg_replace et tu aurais compris que ta ligne ne pourrais jamais faire quelque chose de bon Hihi

Essaie donc comme ceci :
[code=php]$this->ResultatRecupLastVideos = preg_replace('#watch\?v=(.*)(&?)#', '/embed/$1$2', $this->ResultRecupLastVideos['Lien']);[/code]
Merci bien tous fonctionne mais si le membre mais un lien finissant par &hd=1 je fait comment :sifflote:
Le code que je t'ai donné le garde, mais je suis pas sur qu'il serve en fait.
En gros si l'utilisateur donne http://www.youtube.com/watch?v=-qNIQ3vjKpc&hd=1
Tu te retrouveras avec http://www.youtube.com/embed/-qNIQ3vjKpc&hd=1

Mais bon comme je l'ai dit, il sert peut être à rien une fois dans ce lien.
oui ta raison Smile
HD=1 permet de définir si tu veux que la vidéo soit lancée en HD ou pas tu mets autant de params que tu veux Clin

Tu peux également faire ce traitement en javascript pour tout gérer en ajax ca évite de le faire en php.

Retourner en haut Accueil