Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] eregi() a podkreślenie (_)
Mich@ł
post
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).

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mortus
post
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

Posty w temacie


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

 



RSS Aktualny czas: 23.08.2025 - 20:45