Afficher et lire le contenu d’un podcast sur son site

15/08/2012 at 16:15

Voici le code PHP que j’ai utilisé sur la page Presse, pour pouvoir lire directement ou télécharger les podcasts MP3.

<?php
// Lit une page web dans une variable
$texte = file_get_contents ('http://www.sitedupodcast.org/podcast.rss');

// extrait l'url du mp3
preg_match("/http\:([a-zA-Z0-9\-_\/\.~]*)\.mp3/", $texte, $sortie);

// met l'url du mp3 dans une variable
$urlmp3 = $sortie[0];

// Remplace les espaces par le caractère espace en html (%20)
$urlmp3 = str_replace("\s", "\%20", $urlmp3);

// Affiche le flash avec le mp3
echo "<object type='application/x-shockwave-flash' data='dewplayer-vol.swf?mp3=$urlmp3' width='250' height='20'>
<param name='movie' value='dewplayer-vol.swf?mp3=$urlmp3' />
</object>";

// Affiche le lien mp3 direct
echo "<a href='$urlmp3'><img src='ipod_sound.png' width='16' height='16' alt='mp3' title='Télécharger le podcast en mp3' border='0' /></a>";

// Affiche le lien du rss par une petite image
<a href="http://www.sitedupodcast.org/podcast.rss"><img src="images/rss.gif" border="0" alt="" /></a>
?>
  • Ligne 03 : La première chose c’est de récupérer l’adresse du fichier de podcast (généralement un fichier XML) et de mettre son contenu dans une variable. On fait cela avec la fonction “file_get_contents“.
  • Ligne 06 : Ensuite on extrait l’url, grâce à une expression régulière, avec la fonction “preg_match“.
  • La première partie, que vous voyez en bleu, c’est l’expression régulière.
  • $texte c’est la variable sur laquelle on va executer la recherche.
  • $sortie c’est la variable (un tableau [array] en fait) dans laquelle va être injectée le résultat et que l’on va par la suite pouvoir utiliser.
  • Pour le motif de recherche, on va voir quelque-chose qui commence par “http:“, qui finit par “.mp3” et qui entre les deux peut contenir des lettres (a-zA-Z), des chiffres (0-9) ou les caractères spéciaux “-_/.~“. Pour éviter a certains caractères spéciaux d’avoir une fonction spéciale dans la recherche, on annule leur utilité éventuelle en rajoutant un anti-slash devant “\“. Les crochets “[]” veulent dirent : un de ces caractères là. L’étoile après les crochets “[]*” indique qu’on peut trouver plusieurs ou plusieurs fois un de ces caractères.
  • Ligne 09 : Ensuite on récupère le premier URL trouvé $sortie[0] et on le met dans une variable $urlmp3 (ce n’est pas une étape obligatoire). $sortie est un tableau qui contient tous les liens mp3 trouvé dans le fichier XML, mais on ne va récupérer que le premier qui est généralement le plus récent.
  • Ligne 12 : On utilise la commande echo pour afficher du html, mais comme ce sont les guillemets qui délimitent le html, celles qui sont à l’intérieures doivent être protégé par un antislash \” .
  • Ligne 15 : Maintenant on peut afficher le lecteur flash MP3 “Dewplayer” (www.alsacreations.fr/dewplayer) avec le lien de notre MP3 comme paramètre.
  • Ligne 20 : On peut ensuite proposer un lien vers le mp3, sous forme de texte, ou comme ici avec l’image d’un balladeur mp3. Afin de pouvoir le télécharger directement sur son PC.