• 10-09-2016, 19:09:32
    #1
    Üyeliği durduruldu
    Merhabalar,
    veritabanından metinleri çektim yanında textarea var bu textareaya yazılan kelimelerden kaçtanesinin doğru olduğunu nasıl buldurabilirim ?
  • 11-09-2016, 01:25:54
    #2
    uranos adlı üyeden alıntı: mesajı görüntüle
    Merhabalar,
    veritabanından metinleri çektim yanında textarea var bu textareaya yazılan kelimelerden kaçtanesinin doğru olduğunu nasıl buldurabilirim ?
    Merhabalar,

    Yapılan işlemi browser üzerinden mi yapmak istiyorsunuz yoksa javascript ile mi denetlemek istiyorsunuz. Önemli soru aslında bu.

    Buna cevap verip, form örneğinizi gönderirseniz yardımcı olmaya çalışayım.

    İyi çalışmalar.
  • 11-09-2016, 01:31:17
    #3
    Üyeliği durduruldu
    trdeveloper adlı üyeden alıntı: mesajı görüntüle
    Merhabalar,

    Yapılan işlemi browser üzerinden mi yapmak istiyorsunuz yoksa javascript ile mi denetlemek istiyorsunuz. Önemli soru aslında bu.

    Buna cevap verip, form örneğinizi gönderirseniz yardımcı olmaya çalışayım.

    İyi çalışmalar.
    merhabalar hocam,
    ekranım bu şekilde
    örneğin ben "Çizelge yapanken satır arlklı olarak" ifadesini yazdım textareaya,
    burada 1 yanlış 4 doğru kelime var bana yanlış veya doğru sayısını post ettirince verse yeterli bu js veya php de olur farketmez.
  • 11-09-2016, 02:22:12
    #4
    uranos adlı üyeden alıntı: mesajı görüntüle
    merhabalar hocam,
    ekranım bu şekilde
    örneğin ben "Çizelge yapanken satır arlklı olarak" ifadesini yazdım textareaya,
    burada 1 yanlış 4 doğru kelime var bana yanlış veya doğru sayısını post ettirince verse yeterli bu js veya php de olur farketmez.
    Merhaba,

    Javascript bilgin ne derecede bilemiyorum, şöyle bir yöntem kullanabilirsin ;

    Bitir düğmesine bastığında Dbden gelen değer'i ve diğer bölümü boşluklara ve noktalama işaretlerine bölüp sırayla üstünden geçebilirsin. Yada tersini yapabilirsin.

    Örnek bulmakta zorluk çekersen haber verirsen sevinirim. javascript üzerinde split komutuyla parçalama yapabilir, php ile ise explode ile yapabilirsin.

    Dipnot : Noktalama işaretlerini temizletip, sadece boşlukları hedeflersen gelen değerden, çok daha temiz sonuç elde edebilirsin.

    Saygılarımla.
  • 11-09-2016, 12:12:59
    #5
    Öncelikle kelime listesini veritabanına eklersin. Sonra javascript ajax ile veya direk php ile o metini boşluklar ile parçalarsın. explode ile yapabilirsin bunu. sonra her kelime için veritabanında like ile arama yaptırırsın. bu aramanın başına joker işaretlerini kullanırsın. örnek: %aralklı% şeklinde aratırsın ve yanlışları söyletirsin. ha bunun içinde ek almış kelimelerde var bir mantık kurarsın, kelimenin son 2 harfini felan kestirirsin, tam kelimeyi buldurmaya çalışırsın vs. bu şeklide düzenli bir sistem kurabilirsin.
  • 11-09-2016, 13:34:14
    #6
    Kimlik doğrulama veya yönetimden onay bekliyor.
    spell checker ile yapılabilir. böl, parçala, kontrol et aşırı zahmetli duruyor. bkz: pspell
  • 11-09-2016, 19:43:42
    #7
    Şöyle basit bir şey yazdım ama, nedense Örnek kelimesi bir türlü eşleşmedi, En azından fikir olur diye kullanabilirsiniz.

    <?php 
    		
    		if($_POST){
    			
    			// Karşılaştırma yapılacak metin
    			$Metin = "Örnek bulmakta zorluk çekersen haber verirsen sevinirim. ";
    			// Array oluşturduk
    			$BenzerArr = array();
    			// Post edilen metin
    			$Gelen = $_POST["gelen"];
    			// Post edileni böldük boşluktan
    			$GelenBol = explode(" ", $Gelen);
    			// Foreach ile her elemanı yazdırdık
    			foreach($GelenBol as $Gkey){
    				// mb_strpos fonksiyonu ile metin içinde post edilen her bir kelime var mı diye baktık
    				if(mb_strpos($Metin, $Gkey, 0, 'UTF-8')){
    					// Metin içinde kelime varsa diziye 1 ekledik
    					$VarEkle = "1";
    					array_push($BenzerArr, $VarEkle);
    				}
    			}
    			// array_sum ile eklediğimiz 1 leri topladık ve ekrana bastık.
    			echo array_sum($BenzerArr);
    			
    		}
    	
    
    	?>
  • 11-09-2016, 19:52:35
    #8
    hiyagmur adlı üyeden alıntı: mesajı görüntüle
    Şöyle basit bir şey yazdım ama, nedense Örnek kelimesi bir türlü eşleşmedi, En azından fikir olur diye kullanabilirsiniz.

    <?php 
    		
    		if($_POST){
    			
    			// Karşılaştırma yapılacak metin
    			$Metin = "Örnek bulmakta zorluk çekersen haber verirsen sevinirim. ";
    			// Array oluşturduk
    			$BenzerArr = array();
    			// Post edilen metin
    			$Gelen = $_POST["gelen"];
    			// Post edileni böldük boşluktan
    			$GelenBol = explode(" ", $Gelen);
    			// Foreach ile her elemanı yazdırdık
    			foreach($GelenBol as $Gkey){
    				// mb_strpos fonksiyonu ile metin içinde post edilen her bir kelime var mı diye baktık
    				if(mb_strpos($Metin, $Gkey, 0, 'UTF-8')){
    					// Metin içinde kelime varsa diziye 1 ekledik
    					$VarEkle = "1";
    					array_push($BenzerArr, $VarEkle);
    				}
    			}
    			// array_sum ile eklediğimiz 1 leri topladık ve ekrana bastık.
    			echo array_sum($BenzerArr);
    			
    		}
    	
    
    	?>
    Direkt olarak if kullanırsanız ve değer ilk satırda ise değer 0 dönecektir, buda yazdığınız koşulda yok anlamına geleceği için göremeyecektir bunu yerine aşağıdaki şekilde kullanmalısınız.

    if(mb_strpos($Metin, $Gkey, 0, 'UTF-8') !== false){

    Saygılarımla.
  • 11-09-2016, 19:55:59
    #9
    Teşekkürler trdeveloper, güzel bir ayrıntı oldu. Artık arkadaşımız sanırım metin içindeki kelimeleri hesaplayıp, doğru ve yanlışları bulabilir sanırım.

    Saygılar...