begin process at 2012 05 27 16:54:01
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Xml

 > BIBLIOTHÈQUE GÉNÉRATRICE DE FLUX RSS

BIBLIOTHÈQUE GÉNÉRATRICE DE FLUX RSS


 Information sur la source

Note :
6,67 / 10 - par 3 personnes
6,67 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Xml Classé sous :rss, xml, flux, feed, validator Niveau :Initié Date de création :12/08/2005 Vu / téléchargé :6 794 / 363

Auteur : pouda

Ecrire un message privé
Site perso
Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

 Description

Cette source n'est pas de moi je tiens a le preciser...mais je les trouver tellement puissante que je n'es pas pu m'empecher de vous la proposer ...

En fait grace a cette class disposant de fonction spécifique approuvé par le feed validator vous allez pouvoir générer des flux RSS aux normes

Source

  • <?php
  • // $Id: rss10.inc,v 1.3 2001/05/20 17:58:02 edmundd Exp $
  • //
  • // A convenience class to make it easy to write RSS classes
  • // Edd Dumbill <mailto:edd+rsswriter@usefulinc.com>
  • //
  • // $Log: rss10.inc,v $
  • // Revision 1.3 2001/05/20 17:58:02 edmundd
  • // Final distribution tweaks.
  • //
  • // Revision 1.2 2001/05/20 17:41:30 edmundd
  • // Ready for distribution.
  • //
  • // Revision 1.1 2001/05/20 17:01:43 edmundd
  • // First functional draft of code working.
  • //
  • // Revision 1.1 2001/05/17 18:17:46 edmundd
  • // Start of a convenience library to help RSS1.0 creation
  • //
  • class RSSWriter {
  • function RSSWriter($uri, $title, $description, $meta=array()) {
  • $this->chaninfo=array();
  • $this->website=$uri;
  • $this->chaninfo["link"]=$uri;
  • $this->chaninfo["description"]=$description;
  • $this->chaninfo["title"]=$title;
  • $this->items=array();
  • $this->modules=array("dc" => "http://purl.org/dc/elements/1.1/");
  • // thanks James Mills for bugfix to this line
  • $this->channelURI=str_replace("&", "&amp;", "http://" . $GLOBALS["SERVER_NAME"] . $GLOBALS["REQUEST_URI"]);
  • foreach ($meta as $key => $value) {
  • $this->chaninfo[$key]=$value;
  • }
  • }
  • function useModule($prefix, $uri) {
  • $this->modules[$prefix]=$uri;
  • }
  • function setImage($imgURI, $imgAlt, $imgWidth=88, $imgHeight=31) {
  • $this->image=array(
  • "uri" => $imgURI, "title" => $imgAlt, "width" => $imgWidth,
  • "height" => $imgHeight);
  • }
  • function addItem($uri, $title, $meta=array()) {
  • $item=array("uri" => $uri, "link" => $uri,
  • "title" => $this->deTag($title));
  • foreach ($meta as $key => $value) {
  • if ($key == "description" || $key == "dc:description") {
  • $value=$this->deTag($value);
  • }
  • $item[$key]=$value;
  • }
  • $this->items[]=$item;
  • }
  • function serialize() {
  • $this->preamble();
  • $this->channelinfo();
  • $this->image();
  • $this->items();
  • $this->postamble();
  • }
  • function deTag($in) {
  • while(ereg('<[^>]+>', $in)) {
  • $in=ereg_replace('<[^>]+>', '', $in);
  • }
  • return $in;
  • }
  • function preamble() {
  • header("Content-type: text/xml");
  • print '<?xml version="1.0" encoding="iso-8859-1"?>
  • <rdf:RDF
  • xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  • xmlns="http://purl.org/rss/1.0/"
  • xmlns:mn="http://usefulinc.com/rss/manifest/"
  • ';
  • foreach ($this->modules as $prefix => $uri) {
  • print " xmlns:${prefix}=\"${uri}\"\n";
  • }
  • print ">\n\n";
  • }
  • function channelinfo() {
  • print ' <channel rdf:about="' . $this->channelURI . '">
  • ';
  • $i=$this->chaninfo;
  • foreach (array("title", "link", "dc:source", "description", "dc:language", "dc:publisher",
  • "dc:creator", "dc:rights") as $f) {
  • if (isset($i[$f])) {
  • print " <${f}>" . htmlspecialchars($i[$f]) . "</${f}>\n";
  • }
  • }
  • if (isset($this->image)) {
  • print " <image rdf:resource=\"" . htmlspecialchars($this->image["uri"]) . "\" />\n";
  • }
  • print " <items>\n";
  • print " <rdf:Seq>\n";
  • foreach ($this->items as $i) {
  • print " <rdf:li rdf:resource=\"" . htmlspecialchars($i["uri"]) . "\" />\n";
  • }
  • print " </rdf:Seq>\n";
  • print " </items>\n";
  • print " </channel>\n\n";
  • }
  • function image() {
  • if (isset($this->image)) {
  • print " <image rdf:about=\"" . htmlspecialchars($this->image["uri"]) . "\">\n";
  • print " <title>" . htmlspecialchars($this->image["title"]) . "</title>\n";
  • print " <url>" . htmlspecialchars($this->image["uri"]) . "</url>\n";
  • print " <link>" . htmlspecialchars($this->website) . "</link>\n";
  • if ($this->chaninfo["description"])
  • print " <dc:description>" . htmlspecialchars($this->chaninfo["description"]) .
  • "</dc:description>\n";
  • print " </image>\n\n";
  • }
  • }
  • function postamble() {
  • print ' <rdf:Description rdf:ID="manifest">
  • <mn:channels>
  • <rdf:Seq>
  • <rdf:li rdf:resource="' . $this->channelURI . '" />
  • </rdf:Seq>
  • </mn:channels>
  • </rdf:Description>
  • </rdf:RDF>
  • ';
  • }
  • function items() {
  • foreach ($this->items as $item) {
  • print " <item rdf:about=\"" . htmlspecialchars($item["uri"]) . "\">\n";
  • foreach ($item as $key => $value) {
  • if ($key!="uri") {
  • if (is_array($value)) {
  • foreach ($value as $v1) {
  • print " <${key}>" . htmlspecialchars($v1) . "</${key}>\n";
  • }
  • } else {
  • print " <${key}>" . htmlspecialchars($value) . "</${key}>\n";
  • }
  • }
  • }
  • print " </item>\n\n";
  • }
  • }
  • }
  • ?>
<?php

// $Id: rss10.inc,v 1.3 2001/05/20 17:58:02 edmundd Exp $
//
// A convenience class to make it easy to write RSS classes
// Edd Dumbill <mailto:edd+rsswriter@usefulinc.com>
//
// $Log: rss10.inc,v $
// Revision 1.3  2001/05/20 17:58:02  edmundd
// Final distribution tweaks.
//
// Revision 1.2  2001/05/20 17:41:30  edmundd
// Ready for distribution.
//
// Revision 1.1  2001/05/20 17:01:43  edmundd
// First functional draft of code working.
//
// Revision 1.1  2001/05/17 18:17:46  edmundd
// Start of a convenience library to help RSS1.0 creation
//

class RSSWriter {

function RSSWriter($uri, $title, $description, $meta=array()) {
	$this->chaninfo=array();
	$this->website=$uri;
	$this->chaninfo["link"]=$uri;
	$this->chaninfo["description"]=$description;
	$this->chaninfo["title"]=$title;
	$this->items=array();
	$this->modules=array("dc" => "http://purl.org/dc/elements/1.1/");
	// thanks James Mills for bugfix to this line
	$this->channelURI=str_replace("&", "&amp;", "http://" . $GLOBALS["SERVER_NAME"] . $GLOBALS["REQUEST_URI"]);
	foreach ($meta as $key => $value) {
		$this->chaninfo[$key]=$value;
	}
}

function useModule($prefix, $uri) {
	$this->modules[$prefix]=$uri;
}

function setImage($imgURI, $imgAlt, $imgWidth=88, $imgHeight=31) {
	$this->image=array(
		"uri" => $imgURI, "title" => $imgAlt, "width" => $imgWidth,
		"height" => $imgHeight);
}

function addItem($uri, $title, $meta=array()) {
	$item=array("uri" => $uri, "link" => $uri, 
		"title" => $this->deTag($title));
	foreach ($meta as $key => $value) {
		if ($key == "description" || $key == "dc:description") {
			$value=$this->deTag($value);
		}
		$item[$key]=$value;
	}
	$this->items[]=$item;
}

function serialize() {
	$this->preamble();
	$this->channelinfo();
	$this->image();
	$this->items();
	$this->postamble();
}

function deTag($in) {
  while(ereg('<[^>]+>', $in)) {
	$in=ereg_replace('<[^>]+>', '', $in);
  }
  return $in;
}

function preamble() {
	header("Content-type: text/xml");
	print '<?xml version="1.0" encoding="iso-8859-1"?>
<rdf:RDF 
         xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns="http://purl.org/rss/1.0/"
         xmlns:mn="http://usefulinc.com/rss/manifest/"
';
	foreach ($this->modules as $prefix => $uri) {
		print "         xmlns:${prefix}=\"${uri}\"\n";
	}
	print ">\n\n";
}

function channelinfo() {
	print '  <channel rdf:about="' .  $this->channelURI . '">
';
	$i=$this->chaninfo;
	foreach (array("title", "link", "dc:source", "description", "dc:language", "dc:publisher",
		"dc:creator", "dc:rights") as $f) {
		if (isset($i[$f])) {
			print "    <${f}>" . htmlspecialchars($i[$f]) . "</${f}>\n";
		}
	}
	if (isset($this->image)) {
		print "    <image rdf:resource=\"" . htmlspecialchars($this->image["uri"]) . "\" />\n";
	}
	print "    <items>\n";
	print "      <rdf:Seq>\n";
	foreach ($this->items as $i) {
		print "        <rdf:li rdf:resource=\"" . htmlspecialchars($i["uri"]) . "\" />\n";
	}
	print "      </rdf:Seq>\n";
	print "    </items>\n";
	print "  </channel>\n\n";
}

function image() {
	if (isset($this->image)) {
	print "  <image rdf:about=\"" . htmlspecialchars($this->image["uri"]) . "\">\n";
    print "     <title>" . htmlspecialchars($this->image["title"]) . "</title>\n";
    print "     <url>" . htmlspecialchars($this->image["uri"]) . "</url>\n";
    print "     <link>" . htmlspecialchars($this->website) . "</link>\n";
    if ($this->chaninfo["description"]) 
   	 print "     <dc:description>" . htmlspecialchars($this->chaninfo["description"]) . 
   	 	"</dc:description>\n";
	print "  </image>\n\n";
	}
}

function postamble() {
	print '  <rdf:Description rdf:ID="manifest">
    <mn:channels>
      <rdf:Seq>
        <rdf:li rdf:resource="' . $this->channelURI . '" />
      </rdf:Seq>
    </mn:channels>
  </rdf:Description>

</rdf:RDF>
';
}

function items() {
	foreach ($this->items as $item) {
		print "  <item rdf:about=\"" .  htmlspecialchars($item["uri"]) . "\">\n";
		foreach ($item as $key => $value) {
			if ($key!="uri") {
				if (is_array($value)) {
					foreach ($value as $v1) {
						print "    <${key}>" . htmlspecialchars($v1) . "</${key}>\n";
					}
				} else {
					print "    <${key}>" . htmlspecialchars($value) . "</${key}>\n";
				}
			}
		}
		print "  </item>\n\n";
	}
}

}

?>

 Conclusion

Comment ca marche??

<?php
include("rss10.inc");
....
$rss=ne w RSSWriter("http://www.example.org/";
"Example Site", "The best examples out there.",
array("dc:publisher" => "Example Publishing Inc.",
"dc:creator" => "E X Ample <me@example.org>"));
...
//pour une image
$rss->setImage("http://www.example.org/image s/rss.gif","Example Site: All the Examples Fit to Print");
...
//pour un item
$rss->addItem("http://www.example.org/page1.h tml","First Example Page");
....
//pour le module (special attention!!)
$rss->useModule("ex", "http://www.example.org/ns/myModule/");
...
//pôur generer le fichier rss
$rss->serialize();
?>

plus d'explication en anglais ici http://usefulinc.com/rss/rsswriter/


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  • rss10.incTélécharger ce fichier [Réservé aux membres club]4 285 octets

Télécharger le zip


 Sources du même auteur

Source avec Zip ANNUAIRE DE LIENS DYNAMIQUES AVEC DESCRIPTION SANS MYSQL
Source avec Zip Source avec une capture GESTIONNAIRE PARC INFORMATIQUE, DU TEMPS ,AGENDA (BASE SQL+P...

 Sources de la même categorie

Source avec Zip JEU FRISE CHRONOLOGIQUE EN XML par mldvb
OBTENIR LES TAUX DE CHANGE DU JOUR EN EUROS par oallais
Source avec Zip AFFICHER LES FILM EN SALLE par slhuilli
Source avec Zip Source avec une capture MINI-PROCESSEUR XPROC (PIPELINE XML) par ordiman85
Source avec Zip Source avec une capture XML MAPPING TO CLASS OBJECTS / CHARGEMENT / PARSING / MODIFI... par aKheNathOn

 Sources en rapport avec celle ci

Source avec Zip [PHP5][CLASSE] GÉNÉRATION DE FLUX RSS 2.0 par webdeb
Source avec Zip [PHP5/DOM] CLASSE DE CREATION DE FLUX RSS VIA UN FICHIER XML par jean84
EXPLOITER UN FLUX RSS DANS UNE FONCTION PHP PORTABLE. par R0_0T
Source avec Zip WD_RSS_GENERATOR par webdeb
Source avec Zip Source avec une capture [PHP5]GENERATION DE FLUX RSS par hametsu21

Commentaires et avis

Commentaire de toparts le 13/08/2005 19:29:47

Bon pur l'instant je ne l'ai pas installé,car dans le zip il y à seulement un archive .inc,et avec ça JE FAIT QUOI???Il faudrait peut-etre expliquer aux debutant comment faire...
J'ai voulu aller sur le site web de l'auteur POUDA (ci-dessus)mais il faut un ID et PASS pour entrer sur la page !!!Quel stupidesse ,tout cela pour avoir des membres registrer.JE PASSE......

Commentaire de pouda le 14/08/2005 00:25:44

deja d'une tu te calme stp et en plus tu ouvrirais tes yeux tu verrais que j'ai expliqué comment la blibliothèque fonctionne..Deuxio mon site est privé c'est pour eviter que des gens comme toi aille dessus et je suis bien content que ca ait marcher..
JE PASSE egalement mais pour toi passe ton chemin avec des critiques comme celle la l'ami tu n'arrivera a rien dans la vie...

Commentaire de rimk95 le 03/04/2006 15:52:20

Salut à tous.
Pouda->J'aurrai aimé avoir quelques petites explication pour newbee stp. Si j'ai bien comprit, ta class créée elle même le flut rss du site, mai sous quelle forme: .rss, .xml? La source présente dans Explication Final est celle du fichier .php? Merci

Commentaire de pouda le 08/05/2006 22:52:24

non elle est généré a chaque accès ensuite ton interpréteur ne reprend que les données qui ne sont pas présente en local....par exemple si le code php est placé dnas un repertoire RSS tu y'accedra en tapant http://www.tonsite.fr/RSS/?show=flux

Commentaire de oomar124 le 16/04/2010 10:05:10

bonjour ,
juste une petite question , est ce que on peux utiliser ce code pour n'importe quel site ?

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Recherche de flux xml ou/et rss de prog tv sportif [ par bobganjx ] Pauvre de moi en stage, exploit&#233; par un employeur sans scrupule qui me paye pas (c'est beaux les &#233;tudes) ;<font color="#800080" flux rss [ par atchoumen ] Bonjour,je suis en train de mettre un flux rss en place sur mon site et je me retrouve face à un problème bizarre. Lorsque je fais une requete sans co widget+rss+php [ par lsamsoumal ] Bonjour tt le monde: j'ai un code php qui génére un fichier xml contenant des flux rss.Maintenant je veut developper un widget qui récupére les flux r widget avec flux rss [ par pandouta08 ] j'ai un code php d'un générateur d'un fichier xml contenant un ensemble de lien et j'ai un widget yahoo que j'ai créé ,je veux que mon widget yahoo af flux rss [ par mahamourta ] bonsoir tout le monde je veux installer un flux rss sur mon site web . J'ai reussi a avoir un code dans mon fichier xml ,mais je n'arrive pas a l'exp GESTION FLUX RSS [ par Larffas69 ] Bonjour à tous, Quelqu'un saurait-il qu'elle expression html il faut pour afficher une image provenant de la balise d&#8217;un flux RSS ? [code=htm insertion des flux RSS dans des pages php [ par hadjiphp ] Bonjour, merci pour ce site et souhaite de trouver tous ce que je veux. je vous remercie.je suis entrain de créer un site web en php, et je souhai Flux RSS [ par hadjiphp ] Bonjour, merci pour ce site et souhaite de trouver tous ce que je veux. je vous remercie. Bonjour, j'ai une question : comment je peut insérer u Un flux rss avec une image? (magpierss) [ par rnrr ] Bonjour, j'utilise magpierss pour afficher mes flux rss mais la je doit afficher des images dans mes flux rss. Comment faire? Est-ce fesable avec magp mise en page du flux rss avec du css [ par New_World ] bonjour tous le monde, SVP j'ai un petit soucis avec mon flux rss j'essaye de le mettre en forme avec du css mais aparement il reconait pas mon CSS sa


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,702 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales