Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Jak rozwiązać problem PL znaków w szukaj
Forum PHP.pl > Forum > Przedszkole
tenloginjestzajety
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..
trueblue
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/
Kishin
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. }
Pyton_000
zamiast ostatniego str_replace równie dobrze mozna użyć preg_replace('/[^\w]/', '', $txt)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.