![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 84 Pomógł: 4 Dołączył: 25.03.2011 Ostrzeżenie: (0%)
|
Czy można w PHP (lub MySQL- bo dane i tak będą zapisane w bazie danych) sprawdzić wielkość liter?
Chodzi mi o to, że jeśli ciąg znaków składa się tylko z dużych liter, to chciałbym to wychwycić. Jeśli ciąg zawiera mieszane litery (zarówno małe jaki duże) lub tylko małe litery, to można go pominąć. |
|
|
|
Post
#2
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
przepuszczasz ciąg przez funkcję, która zmienia wszystko na duze litery. Jesli ciąg po zmianie jest taki sam jak ciąg przed zmianą, znaczy, że były tam tylko duże litery.
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 84 Pomógł: 4 Dołączył: 25.03.2011 Ostrzeżenie: (0%)
|
przepuszczasz ciąg przez funkcję, która zmienia wszystko na duze litery. Jesli ciąg po zmianie jest taki sam jak ciąg przed zmianą, znaczy, że były tam tylko duże litery. Hehe no faktycznie dość logiczne i proste rozwiązanie (IMG:style_emoticons/default/smile.gif) Dzięki! |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 915 Pomógł: 210 Dołączył: 8.09.2009 Skąd: Tomaszów Lubelski/Wrocław Ostrzeżenie: (0%)
|
Ja bym proponował wyrażenie regularne :-)
|
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 84 Pomógł: 4 Dołączył: 25.03.2011 Ostrzeżenie: (0%)
|
Ja bym proponował wyrażenie regularne :-)
W tym przypadku działa tylko jeśli ciąg jest w całości napisany z małych liter. Jeśli są zarówno małe jaki duże, to nie działa tak jakbym tego chciał. Ja zastosowałem takie coś i działa tak jak powinno.
Ten post edytował miniol 4.04.2012, 14:57:35 |
|
|
|
Post
#6
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
Jak ty w ogóle nie myślisz.... zamien a-z na A-Z
|
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%)
|
@redeemer, @nospor: preg_match - i nagle z jednego problemu autorowi wątku robią się dwa.
@miniol: Powinieneś raczej użyć mb_strtoupper; strtoupper może w pewnych warunkach nie rozpoznać (i w konsekwencji nie zamienić) polskich znaków: http://ideone.com/Dxi22 Ten post edytował Crozin 4.04.2012, 15:33:15 |
|
|
|
Post
#8
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
Crozin w pierwszym moim poście podałem normalne rozwiązanie. Kontynuowałem wątek z preg_match tylko i wyłącznie dlatego bo ktoś inny go zaczął a autor miał z nim nadal problemy. Nie rozumiem skąd więc ten przytyk w moją stronę.
|
|
|
|
Post
#9
|
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%)
|
@nospor: Tak właściwie to chciałem tylko zaznaczyć jak beznadziejnym pomysłem jest tutaj wyrażenie regularne - bo mimo prostego zadania obaj podaliście błędne wyrażenia. (IMG:style_emoticons/default/wink.gif)
|
|
|
|
Post
#10
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
Oj, czepiasz się szczegółów. Ja poprawiłem jedynie logikę ze nie a-z a A-Z.
No ale proszę, poprawne w pełni wyrażenie: /^[A-Z]+$/ ps: nie zawiera polskich liter (IMG:style_emoticons/default/tongue.gif) |
|
|
|
Post
#11
|
|
|
Grupa: Zarejestrowani Postów: 915 Pomógł: 210 Dołączył: 8.09.2009 Skąd: Tomaszów Lubelski/Wrocław Ostrzeżenie: (0%)
|
Dodam tylko, że rozwiązanie z wyrażeniem regularnym jest dużo szybsze (IMG:style_emoticons/default/wink.gif)
|
|
|
|
Post
#12
|
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%)
|
@redeemer: Nie powiem, zdziwiłem się widząc, że PCRE jest szybsze od mb_strtoupper (od strtoupper jest już wolniejsze).
Ale tak to już jest, że w PHP złe rozwiązanie jest nieraz lepsze, bo korzysta w większym stopniu z elementów natywnych (napisanych w C) niż PHP-owskich. :] |
|
|
|
![]() ![]() |
|
Aktualny czas: 25.12.2025 - 08:00 |