Hallo Thoralf,
Ich will zum Beispiel aus *.txt folgendes machen: preg_match('/(.+.txt$/', $dateiname ).
Was aber falsch ist, denn korrekt wäre /^.*.txt$/ - "*" matched nämlich auch gar nichts:
christian@midnight:~/test$ touch ab.txt
christian@midnight:~/test$ touch b.txt
christian@midnight:~/test$ ls *b.txt
ab.txt b.txt
christian@midnight:~/test$
Wie finde ich am günstigsten heraus, welche für Dateinamen und Pfade zulässigen Zeichen ich für den RegExp escapen muss? (. -> . etc.)
In http://de3.php.net/manual/de/pcre.pattern.syntax.php sind die Zeichen aufgelistet:
"", "^", "$", ".", "[", "]", "|", "(", ")", "?", "*", "+", "{", "}" und noch der Delimiter. Alle bis auf ? und * musst Du nun durch \X ersetzen. (wobei X hier das Zeichen sei) ? musst Du durch . ersetzen und * durch .*
Viele Grüße,
Christian
| http://www.selflinux.org/ |
| http://aktuell.de.selfhtml.org/tippstricks/beitrag.htm |
| sh:) fo:) ch:] rl:( br:> n4:& ie:% mo:) va:) de:] zu:) fl:( js:| ss:) ls:[ |
| http://emmanuel.dammerer.at/selfcode.html |