![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 88 Pomógł: 0 Dołączył: 25.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Chcę zrobić walidację nazwy pliku. Próbowałem użyć preg_match oraz ereg. Dodam, że jest to mój pierwszy skrypt używający wyrażeń regularnych.
Otóż nic mi z tego nie wychodzi. Proszę o pomoc. Próbowałem zrobić to tak:
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 450 Pomógł: 135 Dołączył: 18.11.2010 Skąd: Wschowa Ostrzeżenie: (0%) ![]() ![]() |
Witaj.
Twoje wyrażenie mówi, że nazwa pliku(przed kropką) powinna się składać z wymienionych znaków, a jej długość wynosi 1. Zamiast tego powinieneś ustalić długość "od do" czyli na przykład {1,20} lub, jeśli tak Ci pasuje, znak plusa co oznaczałoby "1 lub więcej". Idąc dalej stawiasz kropkę, która oznacza dowolny znak - oczywiście chodzi nam konkretnie o kropkę więc powinieneś postawić backslash przed nią. Jeszcze jedna rzecz - nawiasy okrągłe służą do wyciągania podciągów z tekstu - Ty nie potrzebujesz tego tutaj więc możesz je ominąć. Dalej jest dobrze. A więc: lub Nie testowałem(ide na żywca ![]() Zobacz czy działa. Pozdrawiam. PS. Polecam świetny kurs wyrażeń regularnych tutaj. -------------------- “ Computers are good at following instructions, but not at reading your mind. ” - Donald Knuth |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 88 Pomógł: 0 Dołączył: 25.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
no fajnie ale co jeśli nazwa wyglądała by tak:
zdjecie_z_wakacji.jpg już udało mi się temu zaradzić. dla innych na przyszłość może się przydać ![]() Ten post edytował cabana 9.02.2013, 01:48:52 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 450 Pomógł: 135 Dołączył: 18.11.2010 Skąd: Wschowa Ostrzeżenie: (0%) ![]() ![]() |
Dla powyższego wyrażenia regularnego mogę Ci wpisać w system taki plik:
../../inny_projekt/index.php i ta nazwa spełnia Twoje wyrażenie. W zależności jak tego używasz i co trzymasz na serwerze - to może być niebezpieczne. Dla Twojego pliku, o którym wspomniałeś proponuję takie wyrażenie: Do pierwszego nawiasu możesz dorzucić także inne znaki, które przewidujesz, że mogą wystąpić. Pozdro -------------------- “ Computers are good at following instructions, but not at reading your mind. ” - Donald Knuth |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 25.05.2025 - 08:23 |