[PHP] eregi() a podkreślenie (_) |
[PHP] eregi() a podkreślenie (_) |
6.05.2012, 21:55:48
Post
#1
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 30.04.2006 Ostrzeżenie: (0%) |
W swoim skrypcie do sprawdzania poprawności wpisanego adresu strony użyłem funkcji eregi() tylko jak widzę wkradł się pewien "bubel". Skrypt wygląda następująco:
Ustawiłem warunek, że ciąg może zawierać jedynie małe i duże litery, liczby i myślnik. Niestety jak widzę przez funkcje przechodzi również podkreślenie... i tu pojawia się pytanie. Jak je zablokować? Ew może polecicie mi jakąś inna funkcję ponieważ jak czytałem eregi() raczje nie jest już zalecana (od php 5.3.x). -------------------- Pozdrawiam,
Michał Kryński |
|
|
6.05.2012, 22:06:23
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) |
W wyrażeniu regularnym wybierasz znaki od dużego A do małego z, dlatego przepuszcza Ci również _, które mieści się w tym zakresie znaków. Używaj funkcji z grupy preg_*().
Wyrażenie powinno wtedy wyglądać tak: #^[a-zA-Z0-9-]+$#. Ten post edytował mortus 6.05.2012, 22:08:09 |
|
|
6.05.2012, 22:34:53
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) |
-------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
6.05.2012, 22:51:28
Post
#4
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 30.04.2006 Ostrzeżenie: (0%) |
Dzięki za pomoc Faktycznie problemem był zakres "A-z" ale i tak faktycznie może warto zastosować preg_match zamiast eregi
-------------------- Pozdrawiam,
Michał Kryński |
|
|
Wersja Lo-Fi | Aktualny czas: 18.04.2024 - 05:17 |