1) Logika ereg_replace -> zastąp wszystkie znaki, które nie należą do podanego zakresu, znakiem pustym (edytor forum dodał tu automatycznie znak \).
Następnie, jeśli user wpisał swoje imię z małej litery, funkcja ucfirst zmieni pierwsza literę na wielką.
Póżniej warunek, że imię musi mieć conajmniej 1 znak.
Problem polega na tym, że ereg_replace nie rozpoznaje, że litery ś, Ś, ź, Ź należą do zakresu. Są one zastępowane znakiem " ".
Jeśli zmienię zakres na [!@#$%^&] itd. litery ś, ź zostają, ale już funkcja ucfirst nie zmieni jej na wielką.
Gdzie szukać błędu? Co jest żle? Proszę o podpowiedź zorientowanych.
<?php $_SESSION['registerName'] = $_POST['registerName']; $registerName = $_SESSION['registerName']; $registerNameInfo = " Popraw imię"; } else { $registerNameInfo = " OK"; } } ?>
[EDIT]
W powyższym przykładzie kodowanie znaków było ustawione na ISO-8859-2, stąd przypuszczenie, że ereg_replace nie działa prawidłowo, ponieważ wskazane ISO nie obsługuje niektórych polskich znaków.
Podobnie nie zadziała funkcja ucfirst;
<?php ?>
...czyli lipa
