![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 565 Pomógł: 15 Dołączył: 11.10.2010 Ostrzeżenie: (20%) ![]() ![]() |
Witajcie
Napisałem mały skrypt, który sprawdza czy ktoś pisze z caps-locka. Mam takie jedno pytanie - czy dobrze on jest napisany?
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 279 Pomógł: 58 Dołączył: 14.07.2012 Ostrzeżenie: (0%) ![]() ![]() |
Generalnie tak, z tym że ja zwiększyłby te 50%, np. "Co?" zaliczy do napisanych caps-lockiem, a nie powinno.
![]() Ten post edytował Aqu 7.04.2013, 13:23:24 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
A nie prościej z automatu zmniejszyć litery, niż bawić się w detekcję? I wywal @ z kodu.
-------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 651 Pomógł: 116 Dołączył: 3.06.2012 Skąd: Lędziny Ostrzeżenie: (0%) ![]() ![]() |
Według mnie lepiej by było użyć ucfirst. Jeśli ten string może składać się z więcej niż jednego zdania, np.:
Wtedy rozkładasz sobie ten string na części ($tab = explode('.', $string)), potem zliczasz ile tych zdań jest ($ile = count($tab)-1;) i tworzysz pętlę for, w której każde, a jedno zdanie filtrujesz funkcją ucfirst. W zliczaniu -1 dlatego, że jeśli ostatnie zdanie zakończy się kropką, to po tej kropce już nic nie ma. EDIT: Teraz dostrzegłem, że Ty chcesz tylko SPRAWDZIĆ czy ktoś pisze z caps-lockiem, a nie zamienić litery na małe, tam gdzie to zbędne. W takim razie możesz taką samą metodą jak wyżej zaprezentowałem tylko na zasadzie porównania zdań prawidłowe i to podane przez usera:
itd. z tym że to nie wyłapie Ci np. formy grzecznościowej, czy też sytuacji, gdzie duża litera powinna być użyta, np.: Bardzo Cię lubię. gdzie Cię to forma grzecznościowa, pisana z dużej litery np. w przypadku listów. No ale nie będę bawił się w śledczego, sam wiesz do czego Ci to jest potrzebne i czy takie sytuacje mogą się zdrażyć. PS. Może zamiast sprawdzać czy jest caps-lock, lepiej po prostu samemu zamienić te litery na małe, tak jak to powinno być? ![]() Ten post edytował Michael2318 7.04.2013, 15:30:00 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 565 Pomógł: 15 Dołączył: 11.10.2010 Ostrzeżenie: (20%) ![]() ![]() |
A nie prościej z automatu zmniejszyć litery, niż bawić się w detekcję? I wywal @ z kodu. Obczaiłem manuala i jakoś to wyszło ![]()
Czy da radę zrobić tak: $tablica = array("a" => "A", "b" => "B"); ? -- Jak usunę @ to dostanę Notice. |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 417 Pomógł: 44 Dołączył: 23.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
jaki notice ? Gdyby było wszystko dobrze , to byś nie dostawał...
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 565 Pomógł: 15 Dołączył: 11.10.2010 Ostrzeżenie: (20%) ![]() ![]() |
To ja inny kod testowałem, żadnego Notice nie ma
![]() |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Dominator - tylko że w PHP są już do tego gotowe funkcje. strtolower i strtoupper ewentualnie jeśli potrzebujesz mb_strtolower i mb_strtoupper
Ten post edytował !*! 8.04.2013, 08:49:25 -------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Nie rozumiem dlaczego ktoś chciałby na siłę zmieniać wielkość liter w zdaniach funkcją ucfirst. A co jeśli chciałbym coś PODKREŚLIĆ w mojej wypowiedzi, albo napisać jakiś skrót typu "WTF"? IMO takie działanie NIE MA sensu!
![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 08:36 |