Flux rss d'un skyblog

Soyez le premier à donner votre avis sur cette source.

Snippet vu 18 346 fois - Téléchargée 30 fois

Contenu du snippet

Bon alors il y a quelque temps je cherchait le moyen d'intégrer les derniers articles de Skyblog à mon site, donc je lancais google.. Et je trouvai un logiciel en perl qui crééait un fil rss. Seul problème : il ne se mettait pas à jour tout seul et il fallait l'uploader tout le temps . Je n'ai pas non plus trouver de code en php qui effectuait cette tâche. J'ai donc fait le miens.

Exemple avec mon blog : http://darkm60.free.fr/skyrss.php?blog=darkm

Source / Exemple :


<?php
/*
Ce script permet de générer un fil RSS pour les SKYBLOGS
En effet les blogs SkyBlogs ne possedent pas de flux RSS, alors ce script vous en fourni un.
Utilisation : skyrss.php?blog=nomdublog OU skyrss.php?blog=http://nomdublog.skyblog.com
Vous pouvez utiliser celui mis a disposition sur mon server, de cette façon :
http://darkm60.free.fr/skyrss.php?blog=nomdublog

DarkM © 2005 X http://darkm60.free.fr X dark_666_master_999@msn.com
Vous pouvez modifier ce script comme bon vous semble mais laissez ce message
Je tiens a être prévenu de toute diffusion éventuelle de ce script.

A venir : jump sur les articles (signets type #a-285865492)
Contenu des articles

  • /
$articles = 0; if(isset($_GET['blog'])) { $blog = $_GET['blog']; //On test si BLOG est de type "darkm" ou "http://darkm.skyblog.com" if (preg_match("!^([0-9a-zA-Z\.\-])+$!i", $blog)) { $titre = $blog; $url = 'http://'.$blog.'.skyblog.com'; } elseif (preg_match("!^http://([[0-9a-zA-Z\.\-])+\.skyblog\.com$!i", $blog)) { $test = preg_match_all("!^http://([0-9a-zA-Z\.\-]*)\.skyblog\.com$!i",$blog,$out); $titre = $out[1][0]; $url = $blog; } else { exit(); } } else { exit(); } $fp = fopen($url,"r"); //lecture du fichier while (!feof($fp)) { //on parcourt toutes les lignes $rep = array(); $regs = array(); $extract = fgets($fp, 4096); $page .= $extract; // lecture du contenu de la ligne $blogtitre = eregi("<title>(.*)</title>",$extract,$regs); //on isole le titre if($blogtitre) { $blogtitrea = $regs[1]; } $first = eregi('<div class="article-top-bottom titre" id="[a-zA-Z0-9\-]{1,30}">([^<]*)</div>',$extract,$rep); if((isset($rep[1])) && ($rep[1] != '')) { $articles++; $article[$articles][0] = $rep[1]; } $rep = array(); $second = eregi('<div> posté le ([^<]*) </div>',$extract,$rep); if((isset($rep[1])) && ($rep[1] != '')) { $article[$articles][1] = $rep[1]; } } //$titrarticle = eregi("<h1>Date de création :</h1>([0-9]{4})",$page,$regs2); //on isole le titre<div class="article-top-bottom titre" id="a-284271873">Manif 24/11/2005 =D</div> //<div class="article-top-bottom titre" id="a-284271873">titre</div> fclose($fp); //End /* Encodage iso-8859-1 pr les pbs des accents et autres caracs */ header("Content-Type: text/xml"); $xml = '<?xml version="1.0" encoding="iso-8859-1"?> <rss version="0.92"> <channel> <title>Blog "'.$titre.'"</title> <link>'.$url.'</link> <description>'.$blogtitrea.'</description> <language>fr</language>'; for($i=1;$i<=$articles;$i++){ $articletitre = ''.$article[$i][0].' ('.$article[$i][1].')'; $xml .= '<item> <title>'.$articletitre.'</title> <link>'.$url.'</link> <content:encoded>'.$articletitre.'</content:encoded> </item>'; } $xml .= ' </channel> </rss>'; echo $xml; ?>

A voir également

Ajouter un commentaire

Commentaires

Toutoul
Messages postés
55
Date d'inscription
samedi 5 octobre 2002
Statut
Membre
Dernière intervention
26 mars 2010

Aussi, il y a un petit problème... Car bien que tu veuilles crée un blog qui affiche les derniers messages affichés, cela peut afficher a la place les premiers messages ajouté sur le blog du fait qu'il est possible d'afficher du plus vieux au plus récent
zedarkmaster
Messages postés
4
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
26 février 2006

OK bah mon flux doit être aux normes, je l'ai fait pour qu'il fonctionne sur netvibes, thunderbird et autres..

Chez moi ça fonctionne bien ^^

:)
malalam
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
21
Hello,

bah, il y a des spécifications RSS quand même :-)Faut bien les suivre pour parser les flux. Mais pour le réaffichage...on s'en tape voui.
cs_Alain Proviste
Messages postés
908
Date d'inscription
jeudi 26 juillet 2001
Statut
Modérateur
Dernière intervention
1 février 2015
2
il n'y a rien de défini pour le rss personne t'en voudra, tant que ça "ressemble" aux autres
zedarkmaster
Messages postés
4
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
26 février 2006

Désolé au niveau des normes XML je suis pas trop au courant..

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.