Veröffentlicht 5. September 200520 j 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 ...
5. September 200520 j 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. "; } }
5. September 200520 j 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]
5. September 200520 j Hast Du nicht pro Zeile genau einen Dateinamen? Dann brauchst Du kein preg_match_all()...
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.