Forum

Comment valider un flux RSS?

2011-03-19 02:21:30

cheeko

Salut, Très bon lecteur RSS. J'aurais besoin de valider l'URL du flux avant de l'utiliser. Parce que si ce n'est pas un flux valide, des erreurs PHP sont affichées sur l'écran. J'aimerais éviter cela. Comment puis-je valider l'URL du flux? Merci pour l'aide que vous pourrez donner.
2011-03-21 02:34:27

scriptol

Salut Placez un symbole @ avant la fonction PHP pour éviter les messages d'erreur. Ce sera ajouté dans une prochaine version.
2011-03-21 20:24:34

cheeko

Merci pour votre réponse. J'ai fait ce que vous avez suggéré, et plus de messages d'erreurs. Mais maintenant si le flux n'est pas authentique l'utilisateur obtient un écran blanc là où se trouve l'erreur. S'il y a n'importe quel moyen de valider le flux automatiquement et s'il n'est pas valable alors on n'exécuterais pas la fonction. Je l'ai configuré de façon que les utilisateurs ajoutent leurs propres flux et je suis sûr que les gens risquent de placer de mauvais flux quelque part. Je voudrais leur indiquer que le flux est mauvais plutôt qu'afficher des erreurs ou un écran blanc. Basiquement comment puis-je tester si le flux est valide. Est-ce même possible? Puis-je juste intégrer la fonction dans quelque chose comme:
if(fonction erreur fatale){
   dire que le flux est brisé;
} else {
 exécuter la fonction;
}
Merci pour toute aide que vous pourriez m'offrir. :D
2011-03-22 14:23:23

scriptol

Le flux est retrouvé avec cette fonction dans RSS_Retrieve:
$doc->load($url);
Cela retourne false si le flux n'est pas chargé correctement. Donc, ajoutez un test:
if($doc->load($url) == false) return false;
A la fin de la fonction, ajoutez:
return true;
Et dans la fonction principale, RSS_Display:
if(!RSS_Retrieve($url)) return false;
Ou affichez un message quelconque avec echo.
if(!RSS_Retrieve($url)) { echo "Flux non valide"; return false; }