• 03-09-2022, 16:06:44
    #1
    arkadaşlar php scriptimde mysql de arama yaptırıyorum fakat aranan kelimeyi aynen yazmalıyım mesela

    "Akıl sahibi insanları" diye arama yaptığımda sonuç alıyorum cevap çıkıyor ama

    "Akil sahıbı ınsanları" şeklinde yazarsam yani türkçe karakterleri birebir olmalı yoksa sonuç çıkmıyor. bunu nasıl engellerim.
  • 03-09-2022, 16:09:53
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Bir slug fonksiyonu ile aratılan cümleyi slug hale getirin. Veritabanından hangi veriyi çekiyorsanız (Örn başlık.) Başlığı da slug hale çevirip eşitliğini kontrol edin. Örnek slug fonksiyonunu aşağıya bırakıyorum.
    function slugify($string) {
        $string = str_replace('ü','u',$string);
        $string = str_replace('Ü','U',$string);
     
        $string = str_replace('ğ','g',$string);
        $string = str_replace('Ğ','G',$string);
     
        $string = str_replace('ş','s',$string);
        $string = str_replace('Ş','S',$string);
     
        $string = str_replace('ç','c',$string);
        $string = str_replace('Ç','C',$string);
     
        $string = str_replace('ö','o',$string);
        $string = str_replace('Ö','O',$string);
        
        $string = str_replace('ı','i',$string);
        $string = str_replace('İ','I',$string);
        
        $slug=preg_replace('/[^A-Za-z0-9-]+/', '-', $string);
        
     
        return $slug;
    }
  • 03-09-2022, 16:13:38
    #3
    Mysql soundex diye googleda araştırın
    https://www.geeksforgeeks.org/sounde...tion-in-mysql/
  • 03-09-2022, 16:51:59
    #4
    Full text search daha işlevsel olacaktır

    bkz : https://dev.mysql.com/doc/refman/8.0...-language.html