RSS 2.00 Beta
Création et parsing de fichier RSS.
La classe RSS 2.00 fournit des fonctions permettant de parser ou de créer des fichiers RSS conformément aux spécifications RSS 2.00. Le parser utilise les fonctions XML de PHP, il est donc impératif que votre document ait une syntaxe XML valide.
Cette classe utilise un wrapper http different de celui de php ainsi qu un systeme de cache, elle necessite donc des classe associées.
La classe est une version de test, normalement fonctionnelle mais pas exempte de bugs.
Les ajout par rapport a la au systeme de base :
- un wrapper HTTP controlant plus finement les timeout et les erreur de reception des Feeds.
- un cache HTTP evitant les requete http inutile.
- la gestion faclité des encodage d'entrée et sortie du parser RSS.
Les Méthodes
- RSS - Nouvelle Instance
- Parser - Ouvrir un fichier pour le parser
- Parse - Parser un fichier
- return_infos - Retourner certaines infos uniquement
- Output - Affichage simple
- Creator - Création d' un fichier RSS
- Create_channel - Création du Channel
- Add_item - Ajouter un élément (ITEM) au channel
- Add_copyright - Ajouter le Copyright
- Add_pubdate - Ajouter la date de publication
- Add_lastbuilddate - Ajouter la date de la dernière Mise à Jour
- Add_docs - Ajouter une URL qui decrie le channel
- Add_rating - Ajouter le label de votre site
- Add_managingeditor - Ajouter l' adresse email du responsable du site
- Add_webmaster - Ajouter l' adresse email du webmaster du site
- Add_image - Ajouter une image au channel
- Add_textinput - Ajouter les infos pour un formulaire de recherche
- Add_skiphours - Ajouter les heures ou le channel n'est pas mis à jour
- Add_skipdays - Ajouter les jours ou le channel n' est pas mis à jour
- Create_file - Creation du document XML RSS.
Exemples
- Parser un fichier RSS - Affichage Simple
- Parser un fichier RSS - Affichage avancé
- Création d' un fichier RSS Simple
- Création d' un fichier RSS à partir d' infos venant de MySQL
Parser un fichier RSS - Affichage avancé
<?php
include 'include/rss.php';
$xml = RSS;
# Definition des ecodage entree et sortie
$xml->inEnc = 'UTF-8';
$xml->outEnc = 'UTF-8';
$xml->httpTimeout = 4; # durée d attente du Feed en seconde
$xml->cacheTime = 600; # durée du cache HTTP en seconde
$channels = array(
'Ash' => array ('http://fashion.hosmoz.net/rss.php','u'),
);
// le nombre de billet
$number = 10;
$file = $chan[0];
$xml -> Parser($file);
$infos = $xml -> return_infos('channel', 'item');
echo '<div class="rss">'."\n";
echo '<div class="channel">'."\n";
echo '<a href="'.$infos['channel']['LINK'].'">',htmlentities($infos['channel']['TITLE']),'</a>';
echo '</div>'."\n";
echo '<ul>'."\n";
$i = 0;
foreach($infos['item'] as $val) {
$val['LINK'] = preg_replace('`&(?!(?:amp;))`', '&', $val['LINK']); // entities xhtml
echo "\t<li><a href=\"$val[LINK]\" title=\"{$val['DC:DATE']}\">";
if ($chan[1]=='u') { echo utf8_decode($val[TITLE]); }
else { echo $val[TITLE]; }
echo "</a></li>\n";
if($i === $number) break;
$i++;
}
echo '</ul>'."\n";
echo '</div>'."\n";
?>
include 'include/rss.php';
$xml = RSS;
# Definition des ecodage entree et sortie
$xml->inEnc = 'UTF-8';
$xml->outEnc = 'UTF-8';
$xml->httpTimeout = 4; # durée d attente du Feed en seconde
$xml->cacheTime = 600; # durée du cache HTTP en seconde
$channels = array(
'Ash' => array ('http://fashion.hosmoz.net/rss.php','u'),
);
// le nombre de billet
$number = 10;
$file = $chan[0];
$xml -> Parser($file);
$infos = $xml -> return_infos('channel', 'item');
echo '<div class="rss">'."\n";
echo '<div class="channel">'."\n";
echo '<a href="'.$infos['channel']['LINK'].'">',htmlentities($infos['channel']['TITLE']),'</a>';
echo '</div>'."\n";
echo '<ul>'."\n";
$i = 0;
foreach($infos['item'] as $val) {
$val['LINK'] = preg_replace('`&(?!(?:amp;))`', '&', $val['LINK']); // entities xhtml
echo "\t<li><a href=\"$val[LINK]\" title=\"{$val['DC:DATE']}\">";
if ($chan[1]=='u') { echo utf8_decode($val[TITLE]); }
else { echo $val[TITLE]; }
echo "</a></li>\n";
if($i === $number) break;
$i++;
}
echo '</ul>'."\n";
echo '</div>'."\n";
?>