Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Jak rozwiązać problem PL znaków w szukaj
tenloginjestzaje...
post
Post #1





Grupa: Zarejestrowani
Postów: 358
Pomógł: 1
Dołączył: 20.07.2014

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


Witam
Proszę o sugestie jak rozwiązać problemów znaków polskich w szukaj. Jeśli ktoś wpiszę zolw to żeby sql zwrócił wynik żółw?
Kombinowałem z str_replace ale nic z tego..
Go to the top of the page
+Quote Post
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Albo konwertujesz frazę z formularza i wynik do porównania do postaci bez polskich znaków, albo korzystasz ze Sphinx'a http://sphinxsearch.com/blog/2014/11/05/sp...sql-datasource/
Go to the top of the page
+Quote Post
Kishin
post
Post #3





Grupa: Zarejestrowani
Postów: 148
Pomógł: 17
Dołączył: 20.12.2011

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


kiedyś cos takiego sobie napisałem, niestety nie znalazłem bardziej "eleganckiego" rozwiązania
  1. // $t to Twój string
  2. function polskie_znaki($t,$replace=null) {
  3.  
  4. $rf = array("\r","\n","\r\n","\n\r",'а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я');
  5.  
  6. $rt = array('','','','','a','b','v','g','d','e','jo','zh','z','i','j','k','l','m','n','o','p','r','s','t','u','f','h','c','ch','sh','w','','y','','je','ju','ja');
  7.  
  8. $txt = str_replace(array('^',"'",'"','`','~'),'',iconv('UTF-8','ASCII//TRANSLIT',str_replace($rf,$rt,mb_strtolower($t,'UTF-8'))));
  9.  
  10. if(empty($replace)) return $txt;
  11.  
  12. else return str_replace(' ',$replace, ereg_replace(' +',' ',preg_replace('/[^a-zA-Z0-9\s]/','',trim(str_replace(array('_','.',',','(',')','{','}','[',']','/',':',';','"','\'','-','+','=','!','@','#','$','%','^','&','?','*'),' ', $txt )))));
  13.  
  14. }
Go to the top of the page
+Quote Post
Pyton_000
post
Post #4





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


zamiast ostatniego str_replace równie dobrze mozna użyć preg_replace('/[^\w]/', '', $txt)
Go to the top of the page
+Quote Post

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: 22.08.2025 - 14:32