Ankündigung

Einklappen
Keine Ankündigung bisher.

Text aus Array entfernen

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

  • Text aus Array entfernen

    Hallo,
    ich habe die Textdateien in einem Ordner als Liste auslesen lassen und das Ergebnis liegt nun als Array vor.

    Nur möchte ich gerne die Endung/den Text (".txt"), die/der ja mit im Array steht, entfernen, damit ich die Zahl später isoliert als URL-Varibale weiterverwenden kann.

    Ich habe es schon mit str_replace und mit preg_replace versucht aber es will nicht funktionieren.

    Kann es sein, dass man das Array zuerst in einen String umwandeln muss!?

    Kann mir jemand weiterhelfen?
    Gruß Timo

  • #2
    AW: Text aus Array entfernen

    Sowohl str_replace, als auch preg_replace sollten eigentlich funkionieren.

    Hier ein kleines Beispiel:

    PHP-Code:
    <?php
     $array 
    = array("file1.txt","file-2.txt","file_3.txt","file.txt-4.txt");
     
    $array preg_replace("/\.txt$/"""$array);
     
    print_r($array);
    ?>

    Kommentar


    • #3
      AW: Text aus Array entfernen

      Danke für die Antwort.
      Komisch auf einmal funktioniert's!

      Vielleicht hatte ich mich vertippt.

      Gruß Timo


      Edit (autom. Beitragszusammenführung):

      Ok,
      ich habe noch ein Problem.

      Und zwar lasse ich nun die Zahlen in einer foreach Schleife weiterverarbeiten.

      Die Dateinamen (vor dem preg_replace) habe ich erhalten, indem ich das Verzeichnis mittels scandir() auslesen lassen habe.

      Und nun habe ich auch noch die Verzeichnisse mit aufgelistet (.) und (..).
      Ich möchte aber nur die Dateien haben.

      Wie kann ich denn jetzt verhindern, dass die Verzeichnisse mit aufgelistet werden?

      Gruß Timo
      Zuletzt geändert von Timo; 03.11.2007, 19:28. Grund: Antwort auf eigenen Beitrag innerhalb von 24 Stunden!

      Kommentar


      • #4
        AW: Text aus Array entfernen

        Hallo,

        Evtl. So?
        PHP-Code:
        <?php
        $array 
        = array("file1.txt","file-2.txt","file_3.txt","file.txt-4.txt");
        $array preg_replace("/\.txt$/"""$array);
        print_r($array);
        foreach(
        $array AS $thearray) {
        if(
        strpos($thearray"/") === FALSE) { /* Wenn kein / vorkommt, der das neue Verzeichniss kennzeichnet ausgeben. */
        echo $thearray." ist in keinem Verzeichniss gespeichert, sondern befindet sich im aktuellen Ordner.";
        }
        }
        ?>

        Kommentar


        • #5
          AW: Text aus Array entfernen

          oder mal für den 5.2.2008:

          (das mit dem .txt ersetzen kannst du aber einbauen, oder? )

          PHP-Code:

          // Unser Pfad
          $dir='.'

          try 

              
          $files=Array(); 

              
          $dir=new DirectoryIterator($dir); 

              foreach(
          $dir as $entry
              { 
                  if(
          $entry->isFile()) 
                  { 
                      
          $files[]=$entry->getFilename(); 
                  } 
              } 
              
          print_r($files); 

          catch(
          Exception $exception

              echo 
          $exception->getMessage(); 


          ?> 
          Zuletzt geändert von Brian; 03.11.2007, 21:30.
          AC/DC Fanpage www.ifyouwantblood.de
          Nein zur Zensur im Internet und anderswo - Anonymous

          Kommentar


          • #6
            AW: Text aus Array entfernen

            Hallo nochmal,
            also ich verstehe das nicht ganz.

            In meinem Script ist das so, dass es mittels scandir() die Dateien des Verzeichnisses auflistet + die übergeordneten Ordner (.) und (..).

            Nun will er per fopen die Verzeichnisse wie die Dateien öffnen; bei den Dateien ist das ja korrekt, nur bei den Verzeichnissen soll er es nicht ausführen.

            Wie kann ich dies blockieren bzw. gleich verhindern, dass scandir() die Verzeichnisse mit einliest?
            Mit is_dir scheint es nicht zu funktionieren.

            Bitte nochmals um Hilfe

            Gruß Timo

            Kommentar


            • #7
              AW: Text aus Array entfernen

              Zitat von Timo Beitrag anzeigen
              Hallo nochmal,
              also ich verstehe das nicht ganz.

              In meinem Script ist das so, dass es mittels scandir() die Dateien des Verzeichnisses auflistet + die übergeordneten Ordner (.) und (..).

              Nun will er per fopen die Verzeichnisse wie die Dateien öffnen; bei den Dateien ist das ja korrekt, nur bei den Verzeichnissen soll er es nicht ausführen.

              Wie kann ich dies blockieren bzw. gleich verhindern, dass scandir() die Verzeichnisse mit einliest?
              Mit is_dir scheint es nicht zu funktionieren.

              Bitte nochmals um Hilfe

              Gruß Timo
              der fehler passiert jedem.....:mrgreen:

              scandir gibt dir die namen IN dem verzeichnis zurück. das heißt also, du musst das verzeichnis das du "scanst" vor das ergebnis schreiben....

              in dem von mir geposteten bsp. hast du dieses problem übrigens nicht...
              AC/DC Fanpage www.ifyouwantblood.de
              Nein zur Zensur im Internet und anderswo - Anonymous

              Kommentar


              • #8
                AW: Text aus Array entfernen

                Hi,
                Zitat von Timo Beitrag anzeigen
                In meinem Script ist das so, dass es mittels scandir() die Dateien des Verzeichnisses auflistet
                Dir ist klar, dass diese Funktion erst ab PHP5 zur Verfügung steht?

                Aber mal zu Deinem Eingangsposting:
                damit ich die Zahl später isoliert als URL-Varibale weiterverwenden kann
                Handelt es sich um Dateien, die "1.txt", 2.txt" etc. benannt sind?
                dann könntest Du Dir nämlich Stringoperationen schenken und einfach intval() verwenden.
                Und um nur *.txt-Dateien auszulesen, würde ich auch glob() verwenden, was ab PHP 4.3.0 zur Verfügung steht.

                Gruß
                Ingo
                Ingo Webdesign

                Kommentar


                • #9
                  AW: Text aus Array entfernen

                  Hallo Ingo,
                  auf dem Server ist PHP 5.

                  Und ich hab das jetzt schon alles soweit programmiert mit einer foreach Schleife.

                  Nochmal kurz zur Verdeutlichung:
                  Mein Script schreibt die Verzeichnisse mit ins Array hinein; hier auch zu sehen:
                  http://www.selfphp.info/funktionsref...r.php#Beispiel

                  Jetzt weiß ich nur nicht, wie ich (ich denke so ist es am einfachsten) immer die ersten zwei Array-Schlüssel [0] und [1] lösche.
                  Dann müsste es eigentlich funktionieren!?
                  Gut ich könnte auch sortieren, sodass die am Schluss sind, aber dann sind sie ja immer noch da.

                  Kann mir bitte bitte nochmal jemand weiterhelfen

                  und wie gesagt eure Lösungsvorschläge sind gut, aber ich möchte versuchen, das speziell für die foreach Schleife in meinem Script zu ändern.

                  Gruß Timo



                  EDIT:

                  Ich habe jetzt die Lösung.

                  Ich lösche einfach mit unset() die ersten beiden Elemente aus dem Array.
                  Schon klappts!

                  Trotzdem danke für eure Bemühungen!
                  Gruß Timo
                  Zuletzt geändert von Timo; 05.11.2007, 20:01.

                  Kommentar

                  homepage-forum.de - Hilfe für Webmaster! Statistiken

                  Einklappen

                  Themen: 56.802   Beiträge: 430.056   Mitglieder: 28.555   Aktive Mitglieder: 54
                  Willkommen an unser neuestes Mitglied, Fohlenfan.

                  Online-Benutzer

                  Einklappen

                  208 Benutzer sind jetzt online. Registrierte Benutzer: 1, Gäste: 207.

                  Mit 3.502 Benutzern waren am 23.01.2020 um 18:20 die meisten Benutzer gleichzeitig online.

                  Die neuesten Themen

                  Einklappen

                  Die neuesten Beiträge

                  Einklappen

                  Lädt...
                  X