Flux rss d'un skyblog

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

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.