|
автор: DJSlavik (27.11.2006 в 17:35) |
|
| Greetings everybody!=)
Помогите пожалуйста с построением регулярных выражений,оч. прошу!
1)
имя_пользователя/.../имя_папки
|
где:
имя_пользователя-текстовая строка, минимум 1 символ, максимум-255,допустимые символы:a-z,A-Z,0-9,"_" и "-"
...-подразумевает n-ое количество папок, с правилами, аналогичными "имя_папки"(см.ниже)
имя_папки-текстовая строка(правила аналогичны правилам имени папок в Windows:минимум 1 символ, максимум-255, допустимые символы:а-я,А-Я,a-z,A-Z,0-9,"_" и "-", не содержит символов:"\","/",":","*","?",""","<",">","|", ",")
2)(кажется будет аналогия с правилами папки, но надо учесть, что файл как может иметь расширение, так и нет...) | |
|
|
|
|
|
|
|
для: DJSlavik
(27.11.2006 в 17:35)
| | Для папок: $regexp = "|^[a-z\d_-]{1,255}/([a-zа-яё\d_-]{1,255}/?)*$|i";
Для файлов: $regexp_files = "|^[a-zа-яё\d_-]{1,255}(\.[a-z\d]{1,4})?$|i";
Только есть одно ограничение для папок: в конце строки должен всегда стоять прямой слеш. В другом случае регулярное выражение сильно усложнится. Сделать это можно так: $string = rtrim($string, "/")."/"; | |
|
|
|
|
автор: DJSlavik (28.11.2006 в 20:23) |
|
|
для: Саня
(27.11.2006 в 23:23)
| | Саня! Спасибо, выручил! | |
|
|
|