Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Problem z preg_match()
RemoverPL
post 17.07.2013, 21:03:30
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:
  1. <?php
  2. $tekst = "aaa";
  3. $wyrazenie = '/^[a-z]$/';
  4. if(preg_match($wyrazenie, $tekst)) 
  5.     echo"Tekst nie zawiera polskich znakow.";
  6. else 
  7.     echo "W tekscie wystepuja polskie znaki.";
  8. ?>

Czy mógłby ktoś to poprawić?
Go to the top of the page
+Quote Post
samouk
post 17.07.2013, 21:28:21
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?
Go to the top of the page
+Quote Post
drPayton
post 17.07.2013, 21:54:10
Post #3





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

Ostrzeżenie: (0%)
-----


  1. preg_match("/[^a-z]/", "aaa")

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:

  1. preg_match("/[ąćęłńóśźż]/", "aaa")



*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] wink.gif

Ten post edytował drPayton 17.07.2013, 21:58:56
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 31.07.2025 - 07:57