Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] eregi() a podkreślenie (_)
Mich@ł
post 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:

  1. <?
  2. $adres = 'Abbcc333';
  3. if (eregi('^[a-zA-z0-9-]+$', $adres)) {
  4. echo "tekst";
  5. }
  6. ?>

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
Go to the top of the page
+Quote Post
mortus
post 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
Go to the top of the page
+Quote Post
Fifi209
post 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%)
-----


Użyj preg_match bo eregi zostało wyrzucone z nowego php.

Cytat
#^[[:alnum:]\\-]$#i

O proszę ;]


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
Mich@ł
post 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 wink.gif Faktycznie problemem był zakres "A-z" ale i tak faktycznie może warto zastosować preg_match zamiast eregi smile.gif



--------------------
Pozdrawiam,
Michał Kryński
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.04.2024 - 05:17