Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   JavaScript: RSS auslesen (https://www.delphipraxis.net/47514-javascript-rss-auslesen.html)

CalganX 12. Jun 2005 10:51


JavaScript: RSS auslesen
 
So, jetzt wird es pervers, ich weiß. Aber ich will das irgendwie hinkriegen. *g*
Ich will in einer HTML-Seite mit Hilfe von JavaScript (!) ein RSS-Feed auslesen. Ich kenne eine Möglichkeit das zu machen, allerdings funktioniert das nur im Internet Explorer und das Schlimme ist, dass diese Script nichtmal im IE oder Firefox läuft, sondern in einer Safari-Emulation (MacOS X). ;)

Kann mir jemand da auf die Sprünge helfen? ;)

Chris

MathiasSimmack 12. Jun 2005 11:16

Re: JavaScript: RSS auslesen
 
Also, meins läuft im IE. :gruebel: Und dafür ist es ja auch gemacht worden, weil es MS XML 4 benutzt.

alcaeus 12. Jun 2005 11:20

Re: JavaScript: RSS auslesen
 
Moin Chris,

hier mal die Klasse fuer RDF-Feeds, wie ich sie verwende. Das Parsen erfolgt ueber Regular Expressions, welche ja auch in JS funktionieren. Eventuell kannst du ja die eine oder andere Idee verwenden, aber fertige Loesung kenne ich im Moment keine :-?

Code:
<?php

class rdf_parser
{
   var $file;
   var $content = '';

   var $channel = array();
   var $items = array();

   function rdf_parser($file)
   {
      $this->file = $file;
   }

   function match($text, $elements)
   {
      $ret = array();
      foreach($elements as $element)
      {
         if(preg_match("#<$element>(.*?)</$element>#si", $text, $matches))
         {
            $ret[$element] = $matches[1];
         }
      }
      return $ret;
   }

   function parse()
   {
      $file = $this->file;
      $this->content = @implode('', @file($file));

      if(preg_match('#<channel>(.*?)</channel>#si', $this->content, $matches))
      {
         $this->channel = $this->match($matches[1], array('title', 'description', 'link'));
      }
      preg_match_all('#<item>(.*?)</item>#si', $this->content, $matches, PREG_PATTERN_ORDER);
      foreach($matches[1] as $item)
      {
         $this->items[] = $this->match($item, array('title', 'description', 'link'));
      }
   }
}

?>
Greetz
alcaeus

CalganX 12. Jun 2005 11:49

Re: JavaScript: RSS auslesen
 
Hi,
@Mathias: natürlich läuft dein Skript im IE. Aber eben nur da. Und mein JavaScript soll halt nicht im IE laufen, sondern im Safari (basiert auf KHTML, also Gecko). ;)

@Andreas: okay, danke. :) Schaue ich mir mal an und gucke, ob ich das vielleicht mit JScript an's Laufen bekomme.

Chris


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:34 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz