integrer videos youtube via url

Eléphant du PHP | 119 Messages

19 janv. 2011, 03:01

bonjour, je tatonne mais voila en gros ce que je voudrais, recuperer une url youtube posté sur mon site pour qu'elle puisse etre visualise ...

j'ai testé ce code mais ca ne fonctionne pas, je ne comprend pas trop les regex alors merci d'etre indulgents ...
$statut_resize = preg_replace('#^http://(?:www\.)?youtube\.com/watch\?(?:[^=]+=[^&]+&)*v=([^&]+)#i', 'http://www.youtube.com/v/$2'
<object width="425" height="350" type="application/x-shockwave-flash" data="http://www.youtube.com/v/$2"><param name="movie" value="http://www.youtube.com/v/$2"></param></object>,   $statut_resize);
et ca :
$statut_resize = preg_replace('#^http://(?:www\.)?youtube\.com/watch\?v=([^&]+)#i', 'http://www.youtube.com/v/$2');
$statut_resize = '<object width="125" height="100" type="application/x-shockwave-flash" data="'.$statut_resize.'"><param name="movie" value="'.$statut_resize.'"></param></object>';

ViPHP
ViPHP | 5462 Messages

19 janv. 2011, 12:09

je pense plutôt que tu devrais apprendre les regex
http://www.expreg.com/

et pour les faire :
http://gskinner.com/RegExr/

Eléphant du PHP | 119 Messages

19 janv. 2011, 17:59

je n'en doute pas, mais je ne suis pas doué :wink:

c'est bien pour cela que je demande de l'aide a des pros :D

Eléphant du PHP | 119 Messages

20 janv. 2011, 01:34

pareil avec celle ci, pas d'erreur mais pas l'affichage du lecteur que le lien ...
$statut_resize = preg_replace('#^(http://)?www\.youtube\.com/watch\?v=(\w+)(&.*)?$#i','<object width="150" height="155">
                                <param name="movie" value="http://www.youtube.com/v/$2?fs=1&hl=fr_FR"></param>
                                <param name="allowFullScreen" value="true"></param>
                                <param name="allowscriptaccess" value="always"></param>
                                <embed src="http://www.youtube.com/v/$2?fs=1&hl=fr_FR" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="150" height="155"></embed>
                        </object>',$statut_resize);

Eléphant du PHP | 119 Messages

20 janv. 2011, 03:41

bon j'ai fini par trouver par contre des que les trois regex sont ensemble les images se dedouble.
$statut_resize = $this->correct_news(utf8_encode(stripslashes($this->content)),65,$size_pseudo);
						$statut_resize = preg_replace('#(?<!<a href="|<img src=")http://\S+#i', '<a href="$0" target="_blank">$0</a>', $statut_resize);                        
						$statut_resize = preg_replace('#http://\S+?\.(?:jpg|png|gif)#i', '<a href="$0" class="lienCommentaire" rel="lightbox" target="_blank"><img src="$0" width="130" height="90"/><br/>- Agrandir -<br/></a>', $statut_resize);
						$statut_resize = preg_replace('#(?:<\>]+href=\")?(?:http://)?((?:[a-zA-Z]{1,4}\.)?youtube.com/(?:watch)?\?v=(.{11}?))[^"]*(?:\"[^\<\>]*>)?([^\<\>]*)(?:)?#','<center><object width="225" height="165">
						<param name="movie" value="http://www.youtube.com/v/$2?fs=1&hl=fr_FR">
						</param><param name="allowFullScreen" value="true">
						</param><param name="allowscriptaccess" value="always">
						</param><embed src="http://www.youtube.com/v/$2?fs=1&hl=fr_FR" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="225" height="165">
						</embed></object></center>',$statut_resize);

Eléphant du PHP | 119 Messages

20 janv. 2011, 05:59

bon j'ai remodifier la regex, je me suis meme permis de customiser le lecteur et d'en mettre un en hd.

voila ma regex pour youtube:
$statut_resize = preg_replace('#(^|[\n ]|<a(.*?)>)http://(www\.)?youtube\.com/watch\?v=([a-zA-Z0-9\-_]+)(</a>)?#im','<br/><object width="340" height="210">
             <param name="movie" value="http://www.youtube.com/v/$4?fs=1&ap=%2526fmt%3D18&autoplay=0&rel=0&fs=1&color1=0xffffff&color2=0xffffff&border=0&loop=0&showinfo=0"">
             </param><param name="allowFullScreen" value="true">
             </param><param name="allowscriptaccess" value="always">
             </param><embed src="http://www.youtube.com/v/$4?fs=1&ap=%2526fmt%3D18&autoplay=0&rel=0&fs=1&color1=0xffffff&color2=0xffffff&border=0&loop=0&showinfo=0"
		 type="application/x-shockwave-flash" allowfullscreen="true" width="340" height="210"></embed></object>',$statut_resize);

voila celle pour google video:
$statut_resize = preg_replace ("#(^|[\n ]|<a(.*?)>)http://video.google.com/videoplay\?docid=([0-9]+)(</a>)?#im",'<br/>
		<embed style="width:340px; height:210px;" id="VideoPlayback" type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?docId=$3"> 
		</embed><br />', $statut_resize);
maintenant je fait daylimotion

alors dailymotion c'est ok sauf sauf .. mais la je pense que ca vient de l'url qui change a la lecture, j'ai un bout de code qui traine au dessus de la video target="_blank"> mais
il n'est pas dans le ma regex .. je sait pas d'ou il sort, si vous avez une idee.
$statut_resize = preg_replace ('#http://(?:www\.|)dailymotion\.com/(?:.*?)video/([a-z0-9]{1,8})(?:.*?)#im','<br/>
				<embed src="http://www.dailymotion.com/swf/video/$1" type="application/x-shockwave-flash" width="340" height="210" allowfullscreen="true">
				</embed></object><br />',$statut_resize);
url de la video : http://www.dailymotion.com/video/xg8fd8

Eléphant du PHP | 119 Messages

21 janv. 2011, 00:00

pas de réponse ....

Visiteur74
Invité n'ayant pas de compte PHPfrance

07 août 2011, 10:52

Si moi, je réponds, merci pour ton travail et de le faire partager.
++