Regulärer Ausdruck um Verzeichnispfad aufzufächern

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

  • Regulärer Ausdruck um Verzeichnispfad aufzufächern

    Tag,

    ich suche einen regulären Ausdruck um einen Verzeichnispfad wie folgt aufzuteilen:

    ../root/ordner1/subordner
    ../root/ordner1
    ../root

    Hab schon so einiges ausprobiert, aber entweder liefert er mir zu lange Ergebnisse oder einen einfachen Slash....

  • #2
    was willst du denn genau machen ein PUZZLE-SPIEL damit betreiben?

    Dann explode anhand des Backslash, dann hast du ein Array mit dem Pfad welches du dann später über den ASCII Code oder normal mit dem Bachslash so wie du willst wieder zusammenpuzzeln kannst je nach Bedarf.
    [color=blue]MfG Payne_of_Death[/color]

    [color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
    [color=red]Merke:[/color]
    [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

    Murphy`s Importanst LAWS
    Jede Lösung bringt nur neue Probleme
    Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
    In jedem kleinen Problem steckt ein großes, das gern raus moechte.

    Kommentar


    • #3
      fast *g* Ich schreibe einen kleinen Verzeichnisbrowser à la Windows-Explorer nur ohne Dateien. Ich hatte das schonmal gemacht, dort allerdings mit Dateien und alles in verschachtelte Arrays geworfen, so, dass ich mit einem dynamsiche Array-String ([9][7][3]) zugreifen konnte.
      Ich wollte das hier aber ein bissl kürzen, in dem ich per GET den Verzeichnisstring, also kompletten Relativpfad relativ zum angegeben Root übergebe. Somit kann zwar nur immer ein Ordner offen sein, aber das stört nicht weiter. Ich verwende also ein Array in dem alle zu öffnenden Verzeichnisse drinstehen, da ja, wenn ../root/ordner/subordner zu öffnen ist auch automatisch
      ../root/ordner
      und
      ../root
      zu öffnen ist (wobei das wegfällt, denn der ist ja immer offen).
      Das wird deswegen so gemacht, weil ich beim auflisten der Verzeichnisse das "offene Verzeichnisse"-Array durchlaufe und prüfe ob das gerade behandelte Verzeichnis vielleicht zu öffnen ist...falls ja wird das durch eine rekursive Funktion geregelt.

      Also muss von diesem Verzeichnispfad immer der letzte Ordner inklusive / wegfallen um an _alle_ übergordneten Verzeichnisse heranzukommen. Dafür brauch ich den Ausdruck
      Zuletzt geändert von MaxPayne; 20.06.2003, 20:58.

      Kommentar


      • #4
        PHP-Code:
        print $offenerpfad."<br>";
          
        $array explode("/"$offenerpfad);
          while(
        count($array) > 1)
          {
          print 
        ">".implode("/"$array)."<br>";
          
        array_pop($array);
          } 
        Dieser Code bewirkt das gewollte, aber ich kann jetzt nicht sagen, ob er universell einsetzbar ist, bzw. vielleicht irgendwo Probleme verursachen könnte...

        Kommentar


        • #5
          als ich würde da auch arrays für nehmen.

          ansonsten sieh dir mal unser tut dazu an!

          Kommentar


          • #6
            /(.*)\/(.*)$/ sollte dir helfen!

            Kommentar


            • #7
              Danke, Pattern ist auch gut.

              Kommentar


              • #8
                Kommste damit zurecht=

                Kommentar


                • #9
                  Ja, hab ne Mischung aus beiden Varianten gemacht. Funktioniert recht gut, allerdings tu ich mich mit der Dateilogik sehr schwer, wegen der Punkt-Linien ausm Explorer unterhalb der Pluszeichen, man muss immer wissen welche der übergeordneten Verzeichnisse leer ist oder nicht oder ob ein zum gesamten Zielpfad gehörendes Unterverzeichnis, das letzte in der Reihenfolge ist, ergo es wird kein Strich nach unten gezeichnet...

                  Kommentar


                  • #10
                    Nunja für dein Projekt braucht man echt viel Geduld, Ruhe, kein Stress und Junk-Food um alle eventualitäten abdecken zu können, wünsch dir aber dabei viel Erfolg.
                    [color=blue]MfG Payne_of_Death[/color]

                    [color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
                    [color=red]Merke:[/color]
                    [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

                    Murphy`s Importanst LAWS
                    Jede Lösung bringt nur neue Probleme
                    Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
                    In jedem kleinen Problem steckt ein großes, das gern raus moechte.

                    Kommentar

                    Lädt...
                    X