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...