juddhumLe 14/04/2010 à 13:32
Un exemple orienté purement "fonctionnel", mais par la suite, je vais normaliser tout ça, rajouter les autres médias, faire une classe.
<?php
$media=InsereMedia("http://www.dailymotion.com/video/xcw00q_solidarites-international_creation#hp-v-v6");
$media=InsereMedia("http://www.youtube.com/watch?v=gemhif9wZgw&feature=related");
$media=InsereMedia("http://www.vimeo.com/6631139");
function InsereMedia($url="") {
if($url=="") {
echo "Arghhh !";
} elseif(preg_match('|^http(s)?://[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?(/.*)?$|i', $url)) {
preg_match("/^(http:\/\/)?([^\/]+)/i",$url,$chaines);
$d=explode(".",$chaines[2]);
$hote=$d[count($d)-2].".".$d[count($d)-1];
switch($hote) {
case "youtube.com" : Media_Youtube($url); break;
case "dailymotion.com" : Media_Dailymotion($url); break;
case "vimeo.com" : Media_Vimeo($url); break;
default : echo "Arghhh !";
}
} else {
echo "URL non valide";
}
}
function Media_Youtube($url) {
echo "Youtube : ".$url."<br />";
$id=eregi("v=([a-z0-9_-]*)",$url,$ytid);
$id=str_replace("v=","",$ytid[0]);
echo "ID : ".$id."<br />";
echo "Vignette :<br />";
echo "<img border=\"0\" src=\"http://i4.ytimg.com/vi/".$id."/hqdefault.jpg\"><br />";
$xml=simplexml_load_file("http://www.youtube.com/oembed?url=http://www.youtube.com/watch?v=".$id."&format=xml");
if($xml) {
$titre= htmlentities(utf8_decode($xml->title));
echo "Titre : ".$titre."<br />";
echo $xml->html;
}
}
function Media_Dailymotion($url) {
echo "Dailymotion : ".$url."<br />";
$n=explode("#",$url);
$x=$n[0];
$xml=simplexml_load_file("http://www.dailymotion.com/api/oembed?url=".$x."&format=xml");
if($xml) {
$titre= htmlentities(utf8_decode($xml->title));
echo $titre."<br />";
echo "<img border='0' width='".$xml->thumbnail_width."' height='".$xml->thumbnail_height."' src='".$xml->thumbnail_url."'><br />";
$c=explode("<br />",utf8_decode($xml->html));
echo $c[0];
}
}
function Media_Vimeo($url) {
echo "Vimeo : ".$url."<br />";
$xml=simplexml_load_file("http://vimeo.com/api/oembed.xml?url=".$url);
if($xml) {
$titre=htmlentities(utf8_decode($xml->title));
echo $titre."<br />";
echo "<img border='0' width='".$xml->thumbnail_width."' height='".$xml->thumbnail_height."' src='".$xml->thumbnail_url."'><br />";
$c=explode("<br />",utf8_decode($xml->html));
echo $c[0];
}
}
?>