• 02-06-2024, 18:38:05
    #10
    Rosteoz adlı üyeden alıntı: mesajı görüntüle
    Merhaba,
    stripos fonksiyonunda metinler strtolower kullanılarak küçük harfe,
    preg_replace için kullanılan kelimeler preg_quote ile güvenli yapabilirsin.
    Tüm kodu iletiyorum :
    class indexModel extends Model{
        
        public function index($param){
            
            $kelimeler = DB::get("select * from kelimeler where 1");
            
            $output['text'] = $param;
            
            foreach($kelimeler as $kelime){
    
                $var = false;
                
    
                if(stripos(strtolower($output['text']), strtolower($kelime->kelime1)) !== false){
                    $output['text'] = preg_replace("/([ >\.\?\,])(" . preg_quote($kelime->kelime1, '/') . ")([ <\.\?\,])/is","$1{$kelime->kelime2}$3", $output['text'],-1,$count);
                    
                    if(!empty($count)){
                        $var = true;
                        $output['kelimeler'][] = array(
                            'from' => $kelime->kelime1,
                            'to' => $kelime->kelime2,
                            'count' => $count
                        );
                    }
                }
                
                if($var == false){
                    if(stripos(strtolower($output['text']), strtolower($kelime->kelime2)) !== false){
                        $output['text'] = preg_replace("/([ >\.\?\,])(" . preg_quote($kelime->kelime2, '/') . ")([ <\.\?\,])/is","$1{$kelime->kelime1}$3", $output['text'], -1, $count);
                        
                        if(!empty($count)){
                            $output['kelimeler'][] = array(
                                'from' => $kelime->kelime2,
                                'to' => $kelime->kelime1,
                                'count' => $count
                            );
                        }
                    }
                }
            }
            
            return $output;
        }
    }
    ?>
    Hocam emeğinize, uğraşsınıza sağlık ama sanırım olmuyor. Büyük Türkçe karakter ile başladığında sistem patlıyor. Örneğin spin işlemi olarak düşünelim. "şayet = eğer" oluyor ama "Şayet = Şayet" olarak spinleniyor.
    Yapmak istediğim şey Büyük Ş,Ç,İ,Ü,Ö leri de ya küçük gibi tanılamak ya da sadece bu hafleri küçük harfe çevirmek. Bu kodlardan hal olmaz ise sanrım javascript kısmıyla sadece belirttiğim harleri küçük harfe çevirmek gerekli olacak...
  • 02-06-2024, 21:44:52
    #11
    dudbox adlı üyeden alıntı: mesajı görüntüle
    Hocam link kırılmış aynı sorun bende var. mysql deki bütün girdilerin hepsi küçük harf. php tabanında Birtane büyük harf olunca patlıyor.. Ne yapmam gerekli hocam o sql sorguyu rica edebilir miyim?
    Merhaba Hali Hazırdaki veriler için aşağıdaki sorguyu çalıştırabilirsiniz
    UPDATE tablo_adi
    SET sutun_adi = CONCAT(UPPER(SUBSTRING(sutun_adi, 1, 1)), LOWER(SUBSTRING(sutun_adi, 2)))
    //bu sorgu  sutundaki verinin ilk harfini büyük yapıp diğer kısımları küçük olarak güncelleyecektir
    Sonraki kayıtlar içinde aşağıdaki fonksiyona atıp o şekilde kayıt edin

    function formatString($input) {
    // Boş veya null ise direk döndür
    if (empty($input)) {
    return $input;
    }
    // Tüm karakterleri küçük harfe çevir
    $lowercase = strtolower($input);
    // İlk karakteri büyük yap ve geri kalanını küçük harf olarak ekle
    $formatted = ucfirst($lowercase);
    return $formatted;
    }
  • 02-06-2024, 21:57:21
    #12
    yusuf68700 adlı üyeden alıntı: mesajı görüntüle
    Merhaba Hali Hazırdaki veriler için aşağıdaki sorguyu çalıştırabilirsiniz
    UPDATE tablo_adi
    SET sutun_adi = CONCAT(UPPER(SUBSTRING(sutun_adi, 1, 1)), LOWER(SUBSTRING(sutun_adi, 2)))
    //bu sorgu  sutundaki verinin ilk harfini büyük yapıp diğer kısımları küçük olarak güncelleyecektir
    Sonraki kayıtlar içinde aşağıdaki fonksiyona atıp o şekilde kayıt edin

    function formatString($input) {
    // Boş veya null ise direk döndür
    if (empty($input)) {
    return $input;
    }
    // Tüm karakterleri küçük harfe çevir
    $lowercase = strtolower($input);
    // İlk karakteri büyük yap ve geri kalanını küçük harf olarak ekle
    $formatted = ucfirst($lowercase);
    return $formatted;
    }
    Deneyeceğim çok teşekkür ederim hocam....