Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> strtolower nie działa..., jak porównać polskie litery (Ł vs. ł)?
codo
post
Post #1





Grupa: Zarejestrowani
Postów: 55
Pomógł: 0
Dołączył: 31.10.2004

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


Mam juz tego dosyc... zaczelo sie od napisania wyszukiwarki. Po wpisaniu słowa "łódź" miała mi znaleźć takze te dane z bazy ktore zawierały "Łódź" a także "ŁÓDŹ". Wyszukiwanie bralo pod uwage jeszcze wiele innych kryteriow wiec nie dalo rady wszystkiego zamknac w jednym sqlu.
Wiec biore SELECT * FROM OBIEKTY.. i dalej jesli cos pasuje to wrzucam do tablicy wynikow.
Porownanie musi byc case insensitive czyli
to nie podziala:
  1. <?php
  2. echo &#092;"Ł \".strtolower(\"Ł\");// wypisze: Ł Ł
  3. ?>

nie dziala tez
  1. <?php
  2. stripos
  3. ?>

  1. <?php
  2.  
  3. if(strcasecmp(&#092;"ŁÓdŹ\",\"ź\")>=0) echo \"MATCH\"; else echo \"NIE MA\";
  4. // wypisze NIE MA
  5.  
  6. ?>


Ale
  1. <?php
  2.  
  3. if(strcasecmp(&#092;"Abc\",\"a\")>=0) echo \"MATCH\"; else echo \"NIE MA\";
  4. // wypisze MATCH
  5.  
  6. ?>


Co tu zrobić??(IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
_Mateo
post
Post #2





Grupa: Zarejestrowani
Postów: 189
Pomógł: 0
Dołączył: 4.03.2005
Skąd: Jaworzno

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


  1. <?php
  2.  
  3. function filtruj_string($art) {
  4.  
  5.   $art=strtolower($art);
  6.   $art=str_replace('ł', 'l', $art);
  7.   $art=str_replace('ń', 'n', $art);
  8.   $art=str_replace('ą', 'a', $art);
  9.   $art=str_replace('ś', 's', $art);
  10.   $art=str_replace('ę', 'e', $art);
  11.   $art=str_replace('ó', 'o', $art);
  12.   $art=str_replace('ż', 'z', $art);
  13.   $art=str_replace('ź', 'z', $art);
  14.   $art=str_replace('ć', 'c', $art);
  15.   return $art;
  16. }
  17.  
  18. foreach ($tablica_z_wynikami as $art) {
  19.   $art_do_sprawdzenia=filtruj_string($art);
  20.   $szukany_ciag=filtruj_string($szukany_ciag);
  21.   if(eregi($art_do_sprawdzenia, $szukany_ciag)) {
  22.     echo $art;
  23.    }
  24. }
  25.  
  26. ?>


pewien nie jestem, ale chyba o to chodzi?
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 18.10.2025 - 09:48