MyRSS - A Class to create A RSS feed


/ Published in: PHP
Save to your folder(s)

No Comment^^


Copy this code and paste it in your HTML
  1. <?php
  2. /**
  3.  * ================================================
  4.  * File: myrss.class.php
  5.  * Version: 0.5 BETA
  6.  * License: Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported
  7.  * Author: Leon Giesenkämper, 2011
  8.  * **Description:
  9.  * **Eine RSS Klasse zum einfachen erstellen von Einträgen und Feeds!
  10.  * Thanks to: The Bigforum Team (http://www.bigforum-support.de)
  11.  * and my Freehost: PHPfriends(http://www.php-friends.de)
  12.  */
  13. /*
  14.   * @author Leon Giesenkämper(alias: Darksider3,dk2-games,dk-adds,dk2-adds)
  15.   * @website http://darksider3.pf-control.de
  16.   * @copyright 2011 Leon Giesenkämper
  17.   * @license Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported
  18.   * @package MyRSS
  19.  */
  20. class myrss
  21. {
  22. /**
  23.   * Der gesamte XML/RSS Code für die seite, ind er variable gesafte
  24.   * @access private
  25.   * @var string
  26.   */
  27. private $xmlcode;
  28. /*
  29.   *Charest/Zeichensatz für die feeds
  30.   * @access protected
  31.   * @var string
  32.   *
  33.   */
  34. //@todo: Make an "Change hader" Option
  35. protected $charset="ISO-8859-15";
  36.  
  37.  
  38. /**
  39.   * __Construct, hier werden alle header eingaben für das RSS dokument erstellt.
  40.   * @access public
  41.   * @param string $title Der Titel der Page(Z.b The best website of the world)
  42.   * @param string $link Der link zum Script
  43.   * @param string $desc Beschreibung des Feed's
  44.   * @param string $copyr Das copyright element
  45.   * @param string $charset Die Zeichenkodierung, optional
  46.   * @param string $lang Die Sprache des Dokuments, optional
  47.   **/
  48. public function __construct($title, $link, $desc, $copyr, $charset="ISO-8859-15", $lang='de-de')
  49. {
  50. $this->xmlcode .= '<?xml version="1.0" encoding="'.$charset.'"?>
  51. <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  52. <channel>
  53. <language>'. $lang .'</language>
  54. <docs>http://www.rssboard.org/rss-specification</docs>
  55. ';
  56. if($title != "") {
  57. $this->xmlcode .= "<title>".$title."</title>
  58. ";
  59. }
  60. else{
  61. echo "Error: Die variable \$title ist Leer!
  62. ";
  63. }
  64. if($link != "") {
  65. $this->xmlcode .= "<link>". $link ."</link>
  66. ";
  67. }
  68. else{
  69. echo "Error: Die variable \$link ist leer!
  70. ";
  71. }
  72. if($desc != "") {
  73. $this->xmlcode .= "<description>". $desc ."</description>
  74. ";
  75. }
  76. else{
  77. echo "Error: Die variable \$desc ist leer
  78. ";
  79. }
  80. if($copyr != "") {
  81. $this->xmlcode .= "<copyright>". $copyr ."</copyright>
  82. ";
  83. }
  84. else{
  85. echo "Error: Die variable \$desc ist leer!
  86. ";
  87. }
  88. }//__construct ende
  89. /**
  90.   * Neuen eintrag hinzufügen
  91.   * @access public
  92.   * @param string $category Kategorie
  93.   * @param string $title Der Titel des Eintrages
  94.   * @param string $link Der Link zum Eintrag
  95.   * @param string $author Autor des Eintrages
  96.   * @param Date $pubDate Veröffentlichungs Datum
  97.   * @param string $desc Description(Beschreibung), Der eintrag selbst
  98.   * @param bool $short Eintrag kürzen?
  99.   */
  100. public function add_item($category=NULL, $title,$link,$author,$pubDate,$desc, $short=FALSE)
  101. {
  102. $this->xmlcode .= "<item>
  103. ";
  104. if($category != NULL){
  105. $this->xmlcode .= "<category>". $category ."</category>
  106. ";
  107. }
  108. if($title != ""){
  109. $this->xmlcode .= "<title>". $title ."</title>
  110. ";
  111. }
  112. if($link != ""){
  113. $this->xmlcode .= "<link>". $link ."</link>
  114. ";
  115. }
  116. if($author != ""){
  117. $this->xmlcode .= "<author>". $author ."</author>
  118. ";
  119. }
  120. if($pubDate != ""){
  121. $this->xmlcode .= "<pubDate>" . $pubDate . "</pubDate>
  122. ";
  123. }
  124. if($desc != ""){//1
  125. if($short){//2
  126. $desc = str_split($desc, 250);
  127. echo "<description><![CDATA[" . $desc . "<a href='$link'>weiterlesen</a>]]></description>
  128. ";
  129. }//*2
  130. else{//2
  131. $this->xmlcode .= "<description><![CDATA[" . $desc . "]]></description>
  132. ";
  133. }//*2
  134. }//*1
  135. $this->xmlcode .= "</item>";
  136. }
  137. /**
  138.   * Gibt die Variable $xmlcode aus, also das Dokument.
  139.   * @access public
  140.   */
  141. public function output()
  142. {
  143. $this->xmlcode .= "</rss>";
  144. echo $this->xmlcode;
  145. }
  146. }//Klassen Ende
  147. //Ein Beispiel :)
  148. /*
  149. $xml = new myrss("LG: LDG)PHP", "sd", "Beispiel text zur veranschaulichung :)","By LDG)PHP(Leon Giesenkämper)", "UTF-9");
  150. $xml->add_item("darksider3.pf-control.de", "Beispiel Nummero Uno", "http://darksider3.pf-control.de", "Leon Giesenkämper", "2", "Textileino Eins");
  151. $xml->add_item("darksider3.pf-control.de", "Beispiel Nummero Zwo", "http://darksider3.pf-control.de", "Leon Giesenkämper", "2", "Textilein Nummerina zwei^^");
  152. $xml->output();
  153. */

URL: http://darksider3.pf-control.de/all/scripts.php?id=MyRSS

Report this snippet


Comments

RSS Icon Subscribe to comments

You need to login to post a comment.