Ankündigung

Einklappen
Keine Ankündigung bisher.

Textdatei - nur bestimmte Zeilen ausgeben

Einklappen

Neue Werbung 2019

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

  • Textdatei - nur bestimmte Zeilen ausgeben

    Hallo,

    Ich habe ein Problem, nämlich folgendes:

    ich möchte mithilfe von PHP eine Textdatei aulesen, welche ungefähr so aussieht:

    111%|222%|XXX%|name%|Name
    131%|2224%|XXX%|name%|Name5
    221%|999%|XXX%|name2%|Name3...


    Allerdings sollen zB nur die Zeilen angezeigt werden welche,
    "name2" behinhaltet.

    Wie kann ich so etwas umsetzten?

    ich bin über jede Hilfe dankbar...


  • #2
    mit den Dateifunktionen und explode(), das muss bei so einer Frage als Antwort reichen

    Kommentar


    • #3
      PHP-Code:
      foreach($zeilen as $zeile) {
        if ( 
      strpos ($zeile'name2') {
          print 
      $zeile;
        }

      oder cycaps lösung. ich vervollständige mal:
      da du nicht schreibst was du tun willst und wie die zeile ausgegeben wird besteht leider nicht die möglichkeit für uns eine passende lösung zu suchen sondern nur allgemeine.

      Kommentar


      • #4
        Eure Antworten haben mir leider nicht wirklich geholfen, aber trotzdem danke...

        Anscheinend sollte ich es vielleicht wirklich genauer erklären.

        Ich habe also eine Textdatei: cities.txt in der Datei befindet sich also, dass hier:
        111%|222%|XXX%|name%|Name
        131%|2224%|XXX%|name%|Name5
        221%|999%|XXX%|name2%|Name3

        in 1000x-facher ausführung...

        Ich möchte also ein Script erstellen, bei dem man dann zum Beispiel Name suchen kann, allerdings sollen nur die Zeilen angezeigt werden bei dennen Name in der 5 Zeile steht.

        Allerdings sollte die Zeile auch getrennt angezeigt werden, also zB

        die Zeile "111%|222%|XXX%|name%|Name"

        X:111 Y:222 Stadt:XXX Name: name A: Name

        Ich hoffe man kann es jetzt besser verstehen...

        Kommentar


        • #5
          PHP-Code:
          <?php

          $input 
          = <<<EOT
          111%|222%|XXX%|name%|Name
          131%|2224%|XXX%|name%|Name5
          221%|999%|XXX%|name2%|Name3
          EOT;

          $zeilen explode("\n"$input);

          foreach (
          $zeilen as $zeile) {
              
          $daten[] = explode("|"$zeile);
          }

          if (isset(
          $_REQUEST['search']) && isset($_REQUEST['searchtype'])) {
              foreach ( 
          $daten as $datensatz ) {
                  if ( 
          false !== strpos($datensatz[$_REQUEST['searchtype']], $_REQUEST['search']) ) {
                      echo 
          "<pre>";
                      
          print_r($datensatz);
                      echo 
          "</pre>";
                  }
              }
          }
          ?>
          sowas ? übrigens ist das nur eine mischung aus cycaps beitrag und meinem. die informationen decken sich mit deinem ziel

          Kommentar


          • #6
            Ist ja eigntlich eine csv-Datei, dann kansst du sie entsprechend behandeln:
            PHP-Code:
            ... // fopen, etc
            $titel fgetcsv($fp512'|');  // Titelzeile, falls vorhanden
            while ($zeile fgetcsv($fp512'|'){
                if (
            $zeile[4] == $suchbegriff){   // oder strpos($suchbegriff, $zeile[4])
                    
            for ($i 0;$i count($zeile);$i ++){
                        echo 
            "$titel[$i]:$zeile[$i] "
                    }
                    echo 
            "<br />";
                }
            }
            ... 
            Aber warum muss man sich immer kompliziert machen, was mit einer Datenbank so einfach ginge.
            Selbst wenn du diese Daten von aussen kriegst, wäre es einfacher, diese zuerst in eine DB zu lesen.
            Gruss
            L

            Kommentar


            • #7
              mhm ja in einer Datenbank wäre, dass sicherlich einfacher, allerdings weiß ich nicht wie ich das in eine MySql Datenbank einlesen kann...

              Kommentar


              • #8
                Zitat von Kristoffer Beitrag anzeigen
                mhm ja in einer Datenbank wäre, dass sicherlich einfacher, allerdings weiß ich nicht wie ich das in eine MySql Datenbank einlesen kann...
                Dann schau dir mal LOAD DATA an. Du kannst das auch im PMA direkt importieren
                Gruss
                L

                Kommentar

                Lädt...
                X