Warum kostenlos registrieren?

Nur als registriertes Mitglied hast Du vollen Zugriff auf alle Funktionen unserer Website. So kannst Du eigene Fragen stellen und hast die volle Übersicht über neue interessante Themen im Forum.
Jetzt kostenlos registrieren.

Login


RSS Feed in HTML Seite einfügen

Fragen oder Probleme mit HTML, PHP oder CSS?

RSS Feed in HTML Seite einfügen

Beitragvon Phiffi am 03.05.2006, 20:20

Hallo.
Ich würde gerne einen RSS News Feed in meine HTML Seite einbauen.
Praktisch als laufender Text, so wie hier im Informationsarchiv.
Der Link dazu lautet: http://www.pcwelt.de/rss/newsfeed.xml
Vielleicht kann mir einer den dazugehörigen HTML Code sagen.

Danke

mfg
Phiffi
Phiffi
 
Beiträge: 209
Registriert: 19.05.2004, 21:02


Beitragvon GrayGhost am 03.05.2006, 23:08

http://www.feedforall.com/free-php-script.htm

Das News Feed was du da als Beispiel anbietest kannst du unmöglich als Marqee laufen lassen.
GrayGhost
 

Beitragvon Phiffi am 06.05.2006, 18:20

Ich hab das jetzt mal ausprobiert mit der Seite, aber das ist dann zu unübersichtlich, da gleich noch der Text der Newsmeldung angezeigt wird.
Welchen News Feed kann ich denn als Marqee (ist das der Lauftext?) laufen lassen? Also welche Eigenschaften muss der Feed haben? Und wie bau ich dann sowas in meine Seite ein? (HTML Code?)
Danke

Phiffi
Phiffi
 
Beiträge: 209
Registriert: 19.05.2004, 21:02

Beitragvon dragonl am 08.05.2006, 12:31

Hi Phiffi,
deinen angegebene RSS-Feed kannst du schon als Marqee laufen lassen!
Allerdings must du den kompletten Feed einmal duch den XML-Parser von PHP laufen lassen, denn nur mit HTML geht das NICHT !
Schau dir mal xml_parser_crate() an -> http://de.php.net/manual/de/function.xml-parser-create.php
Damit kannst du dann die gewünschten Informationen aus dem Feed extrahieren und als Marqee laufen lassen.
z.B. den "titel" und den "link" jedes "item"s

MfG
dragonl
dragonl
 
Beiträge: 373
Registriert: 14.09.2004, 14:10
Wohnort: Bremen

Beitragvon Phiffi am 08.05.2006, 21:15

Hmmm... kannst du das vielleicht etwas näher erläutern? Ich weiß nämlich jetzt nicht, ob ich den XML Link direkt in xml_parser_crate() eingeben soll und wie ich nur die gewünschten Infos anzeigen lasse. Die Seite hat dazu keine Informationen gegeben.
Vielen Dank

Phiffi
Phiffi
 
Beiträge: 209
Registriert: 19.05.2004, 21:02

Beitragvon dragonl am 09.05.2006, 15:55

Okay, mache ich, aber nicht ohne das du auch was tun musst :P

Nunja, meine gannante Funktion war zwar nicht ganz die Richtige wie ich feststellen musste, aber brauchen tust du sie auch.

Ich habe da mal ein komplettes Script gaschrieben, welches gewünschten RSS-Feed in einem Lauftext (<marquee>) darstellt.
HIER STAND EIN LINK ZU DER UNTEN AUFGEFÜHRTEN rss2marquee.php DATEI

Und dann habe ich alles bis auf das Wichtigste wieder raus gelöscht, solltest ja auch was tun :wink:
Schau dir das mal an, die Grundstrucktur steht ja noch, aber um die verarbeitung der einzelnen Daten musst du dich noch kümmern.
Das ist jetzt wirklich nicht mehr schwer, auch wenn es so aussieht !
Zu den einzelnen Funktionen kannst du dir hier die Infos holen:
http://de.php.net/manual/de/function.xml-parse.php
Entweder links gewünschte Funktione anklicken oder eben oben rechts ins Suchfeld eintragen.
Code: Alles auswählen
<?php
             $xmlFile = file("http://www.pcwelt.de/rss/newsfeed.xml");
             $parser = xml_parser_create();
             xml_set_element_handler($parser, "startElement", "endElement"); // startElement verweist auf die gleichnamige funktion welche beim erreichen des Starttags aufgerufen wird.
                                                                        // endElement verweist auf die gleichnamige funktion welche beim erreichen des Endtags aufgerufen wird.
             xml_set_character_data_handler($parser, "cdata"); // cdata verweist auf die gelichnamige funktion welche für die verarbeitung dre daten zwischen den tags zuständig ist.

             foreach($xmlFile as $elem){
                     xml_parse($parser, $elem);
                     }
             function startElement($parser, $element_name, $element_attribute){
                      // tut was beim erreichen eines Starttags
                      }
             function endElement($parser, $element_name){
                      // tut was beim erreichen eines Endtags
                      }
             function cdata($parser, $element_inhalt){
                      // tut was mit den daten
                      }
             xml_parser_free($parser);

             // hier koennte ein echo ""; mit der ausgabe des <marquee>bla bla</marquee> stehen
    ?>


Solltest du dennoch Probleme haben, weist ja jetzt wo du uns findest :D

MfG
dragonl :D

PS. Ich könnte auch komplette Scripte Posten, aber dann lernt ja keiner was ! :wink:
Zuletzt geändert von dragonl am 16.05.2006, 20:34, insgesamt 1-mal geändert.
dragonl
 
Beiträge: 373
Registriert: 14.09.2004, 14:10
Wohnort: Bremen

Beitragvon Phiffi am 15.05.2006, 17:05

Nun ja, ich habe immernoch starke Schwierigkeiten mit PHP, da ich ja vorher noch nie was damit zu tun gehabt habe.
Die Funktionen der einzelnen Befehle hab ich mir genau angeschaut, aber einige Begriffe verstehe ich einfach nicht, obwohl bereits 7 Jahre Englischunterricht habe. Und Google versagt beim Übersetzen sowieso auf ganzer Linie.
Vielleicht könntest du mir doch den bereits ausgefüllten Code geben, oder mir etwas mehr Hilfestellung geben...

Vielen Dank nochmal.

Phiffi
Phiffi
 
Beiträge: 209
Registriert: 19.05.2004, 21:02

Beitragvon dragonl am 16.05.2006, 20:32

Moinsen, bin auch mal wieder da :wink: :D

Ob ich dir den aufgefüllten Code geben könnte... jup, das kann ich :D
Passauf, hier kommt er !
Ich habe dem noch einige Kommentare hinzugefügt, damit sollte es dan auch gehen, wenn nicht einfach fragen !

Und tu dir bitte selbst einen gefallen und bleib beim englischen:
Punkt 10. (den rest natürlich auch) Eigene Homepage- Wie?

Folgendes ist nun das erwünschte, die vollständige rss2maqruee.php datei.
Code: Alles auswählen
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
    "http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
    <title>rss2marquee</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <style type="text/css">
      body { color:#ffffff; background-color:#1E1E2A; }
      table { border:2px solid #336633; }
   
      a:link    { color:#ffffff; text-decoration:underline; }
      a:visited { color:#ffffff; text-decoration:underline; }
      a:hover   { color:#9F409E; text-decoration:underline; }
      a:active  { color:#9F409E; text-decoration:underline; }
   
      .liste_titel { background-color:#336633; color:#ffffff; font-weight:bold; font-size:13pt; }

    </style>
  </head>
  <body>
  <div style="width:100%;" align="center">
    <?php
             $xmlFile = file("http://www.pcwelt.de/rss/newsfeed.xml"); // hier wird die XML-Datei als array eingelesen.
             $parser = xml_parser_create();
             xml_set_element_handler($parser, "startElement", "endElement"); // startElement verweist auf die gleichnamige funktion welche beim erreichen des Starttags aufgerufen wird.
                                                                        // endElement verweist auf die gleichnamige funktion welche beim erreichen des Endtags aufgerufen wird.
             xml_set_character_data_handler($parser, "cdata"); // cdata verweist auf die gelichnamige funktion welche für die verarbeitung dre daten zwischen den tags zuständig ist.

             $news = array(); // das array in den die news titel und deren link gespeichert wird
             $x = 0;          // dimension das $news arrays (für jedes news eine dimension) (item)
             $y = 0;          // dimension der news dinmension (für jede news-info eine weitere dinmension in der news dimension) (title und link)
                         // z.B. die erste news:  $news[0][0] = titel und $news[0][1] = link
               //      die zweite news: $news[1][0] = titel und $news[1][1] = link
               //      die dritte news: $news[2][0] = titel und $news[2][1] = link u.s.w
             foreach($xmlFile as $elem){        // jedes element, dass das $xmlFile-Array enthält...
                     xml_parse($parser, $elem); // wird an den XML-Parser ($parser) geschickt.
                     }
             function startElement($parser, $element_name, $element_attribute){
                      global $x;
                      global $y;
                      $element_name = strtolower($element_name);
                      if($element_name=="item"){ // wenn der start-tag "item" heißt...
                         $x++;                   // wird $x um eins erhöt.
                         }
                      if($element_name == "title"){       $y = 0; } // wenn der start-tag "title" heißt, wird $y auf "0" gesetzt.
                         elseif($element_name == "link"){ $y = 1; } // wenn der start-tag "link" heißt, wird $y auf "1" gesetzt.
                            else{ $y = 2; }                     // bei allem anderrem wird $y auf 2 gesetzt.
                      }
             function endElement($parser, $element_name){
                      // tut nix :)
                      }
             function cdata($parser, $element_inhalt){
                      global $x;
                      global $y;
                      global $news;
                      if(bin2hex(trim($element_inhalt)) != "" && $x >= 1){
                         $news[$x][$y] = $element_inhalt;  // hier wird der entsprechende inhalt zwischen den start- und end-tags in das news array gespeichert, entsprechend ihren bestimmten dinensionen. s. Beispiel weiter oben.
                         }
                      }
             xml_parser_free($parser);
             echo "<marquee>++";
        // hier erfolg die ausgabe des $news-arrays
             for($x=1;$x<count($news);$x++){
                 echo "++ <a href='".$news[$x][1]."'>".$news[$x][0]."</a> ++";
                 }
             echo "++</marquee>";
    ?>
    <span style='font-size:10px;'>
      &copy 2006 by Tobias-A.D<br>
      <a href="http://www.tobias-a-d.de.vu" title="http://www.tobias-a-d.de.vu">http://www.tobias-a-d.de.vu</a> - <a href="mailto:dragonl@freenet.de" title="Tobias-A.D. eine E-Mail schicken">dragonl@freenet.de</a><br>
      Bremen den 09.05.2006 - 02:08 Uhr
    </span>
  </div>
  </body>
</html>


MfG
dragonl

PS. ich lösche den link von oben jetzt, der verwies nämlich auf meinen eigenen rechner und darauf installiertem webserver :wink:
dragonl
 
Beiträge: 373
Registriert: 14.09.2004, 14:10
Wohnort: Bremen

Beitragvon Phiffi am 04.06.2006, 13:00

Ok, ein Freund hat mir geholfe und ich hab's jetzt endlich hinbekommen.
Vielen Dank für eure Hilfe!
Phiffi
 
Beiträge: 209
Registriert: 19.05.2004, 21:02



Ähnliche Themen


Zurück zu HTML, PHP & Co.

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste