![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 17.07.2013 Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam problem z funkcją preg_match. Mam kod, który powinien sprawdzać czy zmienna $tekst zawiera polskie znaki. Jeżeli tak, to powinien wyświetlić się napis "W tekscie wystepuja polskie znaki." a jeżeli nie, to powinno pisać "Tekst nie zawiera polskich znakow.". Problem w tym, że zawsze pisze że w tekście są polskie znaki, nawet jak ich nie ma. Oto kod:
Czy mógłby ktoś to poprawić? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 15.07.2013 Ostrzeżenie: (0%) ![]() ![]() |
a to od [a-z]nie zwraca ogólnie liter?
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 890 Pomógł: 65 Dołączył: 13.11.2005 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Czyli czy string podany zawiera znaki, nie należące do podanej klasy (tu: tylko litery a-z) Te rozwiązanie nawiązuje do podanego przez Ciebie przykładu. Tu jak widać definiujesz dozwolone znaki (=zwróci 'false' również wtedy, gdy w stringu podany zostanie np cyfra)*. Jeśli ma działać tylko i wyłącznie na polskie litery, to właśnie je musisz zdefiniować, czyli: *edit, ściślej: "czy są znaki nie należące do podanych" a nie "czy zawiera tylko znaki należące do podanych" bo to subtelna różnica [w zwracanej wartości] ![]() Ten post edytował drPayton 17.07.2013, 21:58:56 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 31.07.2025 - 07:57 |