.rdf auslesen -> Array

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • .rdf auslesen -> Array

    Hi zusammen!
    Hab' ein kleines Problem. Ich möchte eine .rdf Datei auslesen (hier heise.rdf) und diese in ein Array schreiben.
    Bzw. ich möchte am liebsten Die Headlines in ein Array und die Links in ein anderes.
    Leider bin ich ziemlich unbegabt was das anbetrifft. Wär wirklich froh, wenn mir jemand das erklären könnte!
    Vielen Dank!
    Sarah

  • #2
    Bin auch unbegabt - was ist denn RDF für ein Dateiformat?

    CAT Music Files

    Kommentar


    • #3
      .rdf auslesen

      .rdf ist ein XML-Datei
      siehe unten:

      "Heise-Newsticker auf Ihrer Homepage

      Wir gestatten anderen Websites (widerruflich) die kostenfreie Übernahme unserer News-Headlines mit aktiven Links auf unsere News-Artikel. Diese dürfen jedoch nicht in Frames dargestellt werden, sondern müssen ein neues Browser-Fenster öffnen. Sie können bei der Übernahme der Überschriften auf die Datei http://www.heise.de/newsticker/heise.rdf zurückgreifen. Sie enthält die Überschriften und Links im XML-Format. Sie können diese Datei mit einem Script auswerten und eine eigene Zusammenstellung produzieren.
      Bitte übernehmen Sie nicht die kompletten Newsticker-Meldungen, sondern nur die Überschriften."

      thanks

      Kommentar


      • #4
        Hm, hab leider keine Zeit mehr - ich kümmere mich morgen um die Lösung, falls es bis dahin noch kein anderer getan hat. Falls du dich selbst daran machen möchtest, empfehle ich dir ereg / preg_match.

        EDIT: Oder natürlich die XML-Funktionen... Mit denen kenne ich mich allerdings nicht besonders gut aus *schäm*

        [Editiert von Sky am 27-11-2001 um 21:30]

        CAT Music Files

        Kommentar


        • #5
          Besten Dank im Voraus

          Danke für deine -hoffentlich- zukünftige Hilfe.
          Kenne XML überhaupt nicht und in PHP bin ich auch nicht wirklich bewandert, darum wäre ich um Unterstützung froh!
          Besten Dank im Voraus und "küsschen"
          Sarah

          Kommentar


          • #6
            <?php

            $file = 'http://www.heise.de/newsticker/heise.rdf';

            $f = fopen($file,'r');
            $blub = fread($f,65535);
            fclose($f);

            $p = xml_parser_create();
            xml_parse_into_struct($p,$blub,$values,$index);
            xml_parser_free($p);

            $pointer = 0;

            for ($i=0;$i<=sizeof($values);$i++) {
            if ($values[$i][tag]=='TITLE') {
            $linktitle[$pointer] = $values[$i][value];
            }

            if ($values[$i][tag]=='LINK') {
            $linkurl[$pointer] = $values[$i][value];
            $pointer++;
            }
            }

            for ($i=1;$i<=sizeof($linktitle);$i++) {
            echo '<a href="'.$linkurl[$i].'">'.$linktitle[$i].'</a><br>';
            }

            ?>


            $linktitle und $linkurl sind die Arrays, die du benötigst.

            Da die beiden Container Title und News auch einmal in einem anderen Kontext vorkommen und ich keine Rücksicht auf den Parent-Container nehme, solltest du aber das 1.Element der Arrays (Index 0) vernachlässigen und stattdessen beim 2.Element (Index 1) anfangen, wie es in meiner Beispielschleife bereits gemacht wird (siehe Fettdruck).

            CAT Music Files

            Kommentar


            • #7
              Danke für die Hilfe... hat auch bestens geklappt - Nur:
              wenn ich das ganze in ein JavaScript Array bzw. 2 einbinden möchte, klappt das ganze gar nicht.
              Wie krieg ich die beiden Arrays in JavaScriptArrays?!?
              Danke
              Sarah

              Kommentar


              • #8
                hmmm...

                echo '
                <script language="JavaScript">
                <!--
                var linkurl = new array();
                var linktitle = new array();
                ';

                for ($i=1;$i<=sizeof($linktitle);$i++) {
                echo "
                linkurl[$i] = \"$linkurl[$i]\";
                linktitle[$i] = \"$linktitle[$i]\";
                ";
                }
                echo "//-->\n</script>";

                CAT Music Files

                Kommentar


                • #9
                  Danke für die Hilfe

                  Ich strande, aber immer noch am selben Fehler!

                  Warning: Array to be filled with values must be passed by reference

                  Weiss jemand Rat?
                  Thanks

                  Kommentar


                  • #10
                    Hättest das halt gleich gesagt...

                    xml_parse_into_struct(&$p,&$blub,&$values,&$index);

                    CAT Music Files

                    Kommentar


                    • #11
                      tja... bin halt blond...
                      soll ich jetzt noch fragen wo das jetzt hin gehört?!
                      Hab' jetzt nämlich keine Ahnung mehr...

                      Kommentar


                      • #12
                        lol

                        Anstelle dieser im Code weiter oben:

                        xml_parse_into_struct($p,$blub,$values,$index);

                        muss es heißen:

                        xml_parse_into_struct(&$p,&$blub,&$values,&$index);

                        CAT Music Files

                        Kommentar


                        • #13
                          smile

                          Danke für das Script für die Heise News in PHP. Good Job !!!

                          Gruß,

                          Pseudomizer

                          Kommentar

                          Lädt...
                          X