SNOWMAN Geschrieben 5. September 2005 Geschrieben 5. September 2005 Hi, ich hab die Ehere und darf einen Dateibaum generieren. Meine Quelldaten sind so gemacht, das Unterordner ein Space mehr vorrangestellt haben als der Ordner in dem ise sich befinden: firefox/ nummerZwei.txt profiles.ini pluginreg.dat 8nm3l3bk.default/ search.rdf localstore.rdf bookmarks.bak defaults.ini mimeTypes.rdf compatibility.ini US/ bookmarks.html lock prefs.js bookmarks.html xpti.dat formhistory.dat ich bastel das hin und her, aber mein eignetliches Problem: Wie muss mein RegEx aussehen, damit ich ein preg_match(_all) machen kann um die anführenden Spaces zu zählen? Gibts vllt noch andere möglichkeiten? Mein aktueller RegEx sieht so aus: preg_match_all("/(\s+$)/",... aber das funzt irgendwie nich, ich bekomm da immer verschachtelte Arrays zurück. array1( 1 => Name, 2 => array( 1 => Name, 2 => array( 1 => Name), 3 => name) 3=> Name); array2 (1 => Name2, 2=> array( 1 => Name2 ...
Monty82 Geschrieben 5. September 2005 Geschrieben 5. September 2005 preg_match_all("/(\s+$)/",... Habe ich Dich richtig verstanden? --> foreach ($dirlistArr as $key=>$val) { if (preg_match("/^( *)(.*)$/",$val,$pregRes)) { $anzahlSpaces = strlen($pregRes[1]); echo "Die Datei ".$pregRes[2]." hat ".$anzahlSpaces." Spaces im Dateinamen. "; } }
SNOWMAN Geschrieben 5. September 2005 Autor Geschrieben 5. September 2005 DANKE! also dein RegEx funktioniert super! Allerdings mach ich das ganze mit preg_match_all da preg_match, soweit ich de.php.net verstnadne hab, nur bis zum ersten fundsucht und dann abbricht. im großen und ganzen siehts nu so aus: $handle = fopen($filename, "r"); while($line = fgets($handle)){ preg_match_all("/^( *)(.*)$/",$line, $actspaces); $linedepth = strlen($actspaces[1][0]); #Verarbeitung der Daten } [/php]
Monty82 Geschrieben 5. September 2005 Geschrieben 5. September 2005 Hast Du nicht pro Zeile genau einen Dateinamen? Dann brauchst Du kein preg_match_all()...
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden