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
DaNTe
post
Post #2





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 7.01.2004
Skąd: Katowice

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


Jak się nie boisz (czytaj jak nie masz setek userów) to możesz:
  1. <?php
  2.  
  3. function filtrujPl($tekst)
  4. {
  5.   return strtr($tekst, array(
  6.     'ł'=>'[ŁłLl]',
  7.     'ą'=>'[ĄąAa]',
  8.     'ń'=>'[ŃńNn]',
  9.     /*... itd ...*/
  10.     'Ł'=>'[ŁłLl]',
  11.     /*... itd ...*/
  12.   ))
  13. }
  14.  
  15. ?>


i potem
  1. "SELECT *
  2. FROM tab WHERE fld1 RLIKE '".filtrujPl('Gdańsk')."'"


RLIKE mozna też zastąpić REGEXP

To dotyczy MySQL - nie wiem jak w innych bazach

Ten post edytował DaNTe 15.07.2005, 13:26:49
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: 3.10.2025 - 17:13