Ankündigung

Einklappen
Keine Ankündigung bisher.

RIS-Files auslesen und in Array speichern

Einklappen

Neue Werbung 2019

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

  • #16
    Wenn du mit "php ris parser" googelst, dann kommst du gleich bei den ersten Ergebnissen auf fertigen Code.

    technosophos's LibRIS at master - GitHub
    PHP-Code:
    if ($var != 0) {
      
    $var 0;

    Kommentar


    • #17
      danke für eure antworten =)

      PHP-Code:
      $dateiname 'sample1.txt';
      $datei fopen$dateiname "r" );
      $inhalt fread$datei filesize$dateiname ) );

          if (!
      preg_match ("/TY  - /"$inhalt));

          {    

              echo 
      'blabal';

          } 
      die datei liest es aus.. und sucht nach TY -
      wie schaffe ich es nun das conf aus zu geben?
      ich weiss ich bin ein noob aber ich habe das noch nie gemacht

      Kommentar


      • #18
        Ich glaube eine RegEx (preg_match) brauchst Du hier gar nicht.
        Ohne das Format jetzt genau zu kennen, scheint es aber doch festen Regeln zu folgen.
        So kannst Du die Datei Zeilenweise einlesen und dir ein array bauen.

        PHP-Code:
        $file './ris.txt';

        $ris  = new SplFileObject($file'r');
        $ris->setFlags(SplFileObject::SKIP_EMPTY SplFileObject::DROP_NEW_LINE);
        $collect = array();
        while(!
        $ris->eof() && ($line $ris->fgets())) {
            
        $key substr($line,0,2);
            if(!isset(
        $collect[$key]))
                
        $collect[$key] = array();
                
            
        array_push($collect[$key],substr($line,5));
        }
        echo 
        '<pre>';
        print_r($collect); 
        Deine gewünschte Ausgabe kannst Du dann über dieses array erreichen z.B.:

        PHP-Code:
        echo 'Autoren: ' implode(' ,',$collect['A1']); 
        AFFE ist nur im Dezimalsystem ein Palindrom.

        Kommentar


        • #19
          hmmm ja oke geht auch so danke dir..
          habs jezt auch mit noch was anderem lösen können xD
          aber ich danke dir

          Kommentar


          • #20
            habs jezt auch mit noch was anderem lösen können xD
            Evtl. könntest Du Deine Lösung ja mal hier noch Posten. Für Leute mit demselben Problem.
            AFFE ist nur im Dezimalsystem ein Palindrom.

            Kommentar


            • #21
              sorry kommt schon:

              PHP-Code:
              $dateiname 'sample1.txt';
              $file file($dateiname);
               

              $result preg_grep("/TY  -/"$file);
              $result str_replace("TY  -"""$result[0]);
               
              echo 
              $result
              jetzt muss ich den text nurnoch bearbeiten und die anderen sachen tags noch machen

              Kommentar


              • #22
                PHP-Code:
                $result preg_grep("/TY  -/"$file); 
                In Deinem Beispiel ist ein Leerzeichen Zuviel (vor dem "-/").

                Wenn Du das für für jedes Tag (TY, A1, KW ...) machst wird das recht "teuer".

                $result[0]
                Das wird so nicht hinhauen direkt auf den Schlüssel zuzugreifen. Da der gegebenenfalls bei jedem Datensatz ein anderer ist.
                Wenn schon so, dann solltest Du mit "foreach" das Ergebnis verarbeiten.
                AFFE ist nur im Dezimalsystem ein Palindrom.

                Kommentar

                Lädt...
                X