.rdf auslesen -> Array

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • .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

    Comment


    • #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

      Comment


      • #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

        Comment


        • #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

          Comment


          • #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

            Comment


            • #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

              Comment


              • #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

                Comment


                • #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

                  Comment


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

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

                    CAT Music Files

                    Comment


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

                      Comment


                      • #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

                        Comment


                        • #13
                          smile

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

                          Gruß,

                          Pseudomizer

                          Comment

                          Working...
                          X