Kod
if (!ereg('^[a-zA-Z]{3,30} , $imie_valid_c)) {
print '<span class="blad">- Podane <b>imię</b> zawiera niedozwolone znaki b±dĽ nie mie¶ci się w przedziale od 3 do 30 znaków.</span><br/>'.$imie_valid_c.'';
$blad=true;
}
print '<span class="blad">- Podane <b>imię</b> zawiera niedozwolone znaki b±dĽ nie mie¶ci się w przedziale od 3 do 30 znaków.</span><br/>'.$imie_valid_c.'';
$blad=true;
}
Ale potrzebowałem też polskich znaków bo podobna walidacje mam dla nazwiska (z reszt± skrypt nie przepuszczałby takich imion jak Łucja czy Błażej). Dlatego zrobiłem tak:
Kod
if (!ereg('^[a-zA-Z±ćęłń󶿼ƣŃӦݬ]{3,30} , $imie_valid_c)) {
print '<span class="blad">- Podane <b>imię</b> zawiera niedozwolone znaki b±dĽ nie mie¶ci się w przedziale od 3 do 30 znaków.</span><br/>'.$imie_valid_c.'';
$blad=true;
}
print '<span class="blad">- Podane <b>imię</b> zawiera niedozwolone znaki b±dĽ nie mie¶ci się w przedziale od 3 do 30 znaków.</span><br/>'.$imie_valid_c.'';
$blad=true;
}
Ale mimo to w skrypcie wy¶wietla bł±d. Spróbowałem więc kasować wszystkie znaki poza tymi w ereg() za pomoc± ereg_replace()
Kod
$imie_valid_c = ereg_replace('[^a-zA-Z±ćęłń󶿼ƣŃӦݬ]', '', $imie_valid_c);
Po wy¶wietleniu zmiennej $imie_valid_c okazało się, że polskie znaki dodane po a-zA-Z również zostały usunięte choć działanie skryptu powinno byc takie że usuwa z ci±gu znaków wszystko poza znakami w []. Wpisanie tam całego alfabetu też nic nie dało. Kto¶ wie może co jest grane? Z góry dzięki za pomoc.