String durchsuchen

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

  • String durchsuchen

    Hallo zusammen

    Ich habe folgendes Problem:

    In einem File habe ich String mit folgendem Aufbau:

    997;5041;997;11133110111001101002;Test;6FCBA68DE02CA8AD9C6618FF6789B6067071ED11

    Das ; bildet dabei das Trennzeichen.

    Nun möchte ich eine Abfrage machen, die den Wert im ersten sowie diesem im letzten Feld mit einer Eingabe vergleicht und, sofern die Werte gefunden werden, TRUE zurückgibt.

    Eine Abfrage nur auf den ersten Wert (hier 997) oder aber auf den gesamten String kriege ich hin. Aber wie schaffe ich es, alle Werte zwischen 997 und 6FCBA68DE02CA8AD9C6618FF6789B6067071ED11 "auszublenden"?

    So in der Art:

    Wert1;[beliebiges Zeichen];[beliebiges Zeichen];[beliebiges Zeichen];....;Wert2


    Danke für eure Tipps

    Gruss
    Philipp

  • #2
    Hi

    schau dir mal die Funktion

    explode()

    an.

    Kommentar


    • #3
      Genau!
      Und dann einfach des erste Element (0) und letzte Element (Länge des Arrays kannst Du mit "count()" ermitteln) auslesen.

      Gruß
      Stephan
      [font=Verdana]SteGaSoft
      Theorie ist, wenn jeder weiß, wie es geht, aber nichts funktioniert, Praxis ist, wenn alles funktioniert und niemand weiß warum.
      [/font]

      Kommentar


      • #4
        Vielleicht hab ich mich nicht verständlich ausgedrückt....

        In diesem File steht ja nicht nur eine Zeile sondern ein paar Hundert.
        Das sieht dann in etwa so aus:

        414;3032;414;11111110110001100002;Reitnau, 5057 R;36F2CB47AD5C319ADBA69976BF851D12261E6F9A
        415;8029;415;11111110110001100002;Lyss, 3250 Lyss;0734191FD7DA1554D4EA2133DF31209EF2D9302A
        416;2290;416;11133111111211101002;Arbon, 9320 Arb;71942625FEBF9AA13B56F19E0BC5C34C4039F1A7
        417;4035;417;11111110110001100002;Lindenallee, 38;4F2824D06F8BAD7EA2D88CB6A1F3215F847560AA
        418;1370;418;11111110110001100002;Gondiswil, 4955;C11226C53FC4C8033C2BF2EDA91A1FB4029365DC
        ......

        Also müsste ich das ganze mit explode in ein mehrdimensionales Array kriegen.

        Aber das geht doch meiner Meinung nach gar nicht.
        Zuletzt geändert von philippCH; 25.08.2005, 12:28.

        Kommentar


        • #5
          so vielleicht?

          PHP-Code:
          <?php
          $data 
          file('pfad/zur/datei.txt');
          foreach (
          $data as $zeile) {
              
          $dat explode(';'$zeile);
              
          //und hier halt weider machen ...
          }
          ?>

          Forumregeln!

          Gute PHP-(tutorial-)Seiten

          Kommentar


          • #6
            Vielleicht nicht ganz schön, aber es geht....

            PHP-Code:
            $fileinhalt file($userfile);
                for(
            $y=0$y count($fileinhalt); $y++) {
                    
            //    echo $fileinhalt[$y];
                    
            list($usern[$y], $passw[$y], $f1[$y], $f2[$y], $f3[$y], $sha[$y])=explode(";"$fileinhalt[$y]);
                    
            //echo $y.": ".$usern[$y]."<br>";
                    
            $file[$y][0] = $usern[$y];
                    
            $file[$y][1] = $passw[$y];
                    
            $file[$y][2] = $f1[$y];
                    
            $file[$y][3] = $f2[$y];
                    
            $file[$y][4] = $f3[$y];
                    
            $file[$y][5] = $sha[$y];
                } 

            Kommentar


            • #7
              Oder auch so:
              PHP-Code:
              $inhalt = array();
              $datei 'pfad_zur_datei/name.txt';
              $zeile explode('<br />',nl2br(file_get_contents($datei)));
              foreach(
              $zeile as $wert){
                 
              $datei[] = explode(';',$wert);

              Gruss

              tobi
              Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

              [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
              Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

              Kommentar

              Lädt...
              X