• 12-10-2010, 23:33:17
    #1
    sayfada bulunan tüm Türkçe karakterleri değiştirecek kod lazım

    örn: ç = c, ü = u, ö = o

    gibi..


    lütfen yardım ediniz arkadaşlar, teşekkürler
  • 12-10-2010, 23:43:45
    #2
    bu işini görür heralde.


    $degisken = 'bu yoğurdu sarımsalakta mı saklasak yoksa sarımsaklamasaktamı saklasaki';
    
    $tr = array('ş','Ş','ı','İ','ğ','Ğ','ü','Ü','ö','Ö','Ç','ç');
    $eng = array('s','s','i','i','g','g','u','u','o','o','c','c');
    $degisken = str_replace($tr,$eng,$degisken);
    her 2 arraye istediğin karakterleri ekleyebilirsin. 1. si değişecek karakter. 2. array değiştikten sonraki hali. kolay gelsin. (not: ilk harf ş ama forumun WYSIWYG ediyoru otomatik koda çeviriyor. o nedenle &amp vs gibi gözüküyor)
  • 13-10-2010, 00:55:43
    #3
    Üyeliği durduruldu
    Keske aramayi bilseniz..
  • 13-10-2010, 01:16:40
    #4
    daha önce bu forumda verilmişti bu kodlar bende arşivime kaydetmiştim, buyrun.
    function karaktertemizle($deger) {
        $gecerliler=",q,w,e,r,t,y,u,i,o,p,a,s,d,f,g,h,j,k,l,z,x,c,v,b,n,m,0,1,2,3,4,5,6,7,8,9,_,";
        if (!empty($deger)) {
            $deger=trim(strtolower ($deger));
    
    // turkish characters
            $deger=ereg_replace(" ","_",$deger);
            $deger=ereg_replace("ğ","g",$deger);
            $deger=ereg_replace("ü","u",$deger);
            $deger=ereg_replace("ş","s",$deger);
            $deger=ereg_replace("ı","i",$deger);
            $deger=ereg_replace("ç","c",$deger);
            $deger=ereg_replace("ö","o",$deger);
            $deger=ereg_replace("Ğ","g",$deger);
            $deger=ereg_replace("Ü","u",$deger);
            $deger=ereg_replace("Ş","s",$deger);
            $deger=ereg_replace("Ç","c",$deger);
            $deger=ereg_replace("Ö","o",$deger);
            $deger=ereg_replace("İ","i",$deger);
            $deger=ereg_replace("305","i",$deger);
            $deger=ereg_replace("214","o",$deger);
            $deger=ereg_replace("246","o",$deger);
            $deger=ereg_replace("252","u",$deger);
            $deger=ereg_replace("231","c",$deger);
            $deger=ereg_replace("199","c",$deger);
            $deger=ereg_replace("220","u",$deger);
            $deger=ereg_replace("304","i",$deger);
            $deger=ereg_replace("287","g",$deger);
            $deger=ereg_replace("351","s",$deger);
            $deger=ereg_replace("286","g",$deger);
            $deger=ereg_replace("350","s",$deger);
            $deger=ereg_replace("8217","",$deger);
            $deger=ereg_replace("8216","",$deger);
            $deger=ereg_replace("amp","",$deger);
            $deger=ereg_replace("ynt","",$deger);
    
    // utf 8 turkish
            $deger=ereg_replace("İ","i",$deger);
            $deger=ereg_replace("Ö","o",$deger);
            $deger=ereg_replace("ö","o",$deger);
            $deger=ereg_replace("Ü","u",$deger);
            $deger=ereg_replace("Ç","c",$deger);
            $deger=ereg_replace("ç","c",$deger);
            $deger=ereg_replace("ü","u",$deger);
            $deger=ereg_replace("ı","i",$deger);
            $deger=ereg_replace("ÄŸ","g",$deger);
            $deger=ereg_replace("ÅŸ","s",$deger);
            $deger=ereg_replace("Äz","g",$deger);
            $deger=ereg_replace("Åz","s",$deger);
    /*
    // windows sunucular icin
            $deger=ereg_replace("%c4%b1","i",$deger);
            $deger=ereg_replace("%c3%b6","o",$deger);
            $deger=ereg_replace("%c3%96","o",$deger);
            $deger=ereg_replace("%c3%bc","u",$deger);
            $deger=ereg_replace("%c3%a7","c",$deger);
            $deger=ereg_replace("%c3%87","c",$deger);
            $deger=ereg_replace("%c3%9c","u",$deger);
            $deger=ereg_replace("%c4%b0","i",$deger);
            $deger=ereg_replace("%c4%9f","g",$deger);
            $deger=ereg_replace("%c5%9f","s",$deger);
            $deger=ereg_replace("%c4%9e","g",$deger);
            $deger=ereg_replace("%c5%9e","s",$deger);
    */
    
            $yeni="";
            for ($i=1; $i<=strlen($deger); $i++) {
                if (strpos($gecerliler,"," . substr($deger,$i-1,1) . ",")>0) { 
                    $yeni=$yeni . substr($deger,$i-1,1); 
                    }
            }
            $deger=$yeni;
        
            return $deger;
            
        }else {
            
            return ereg_replace("__","_",$deger);
        }
    }
  • 13-10-2010, 07:31:23
    #5
    Deimosx adlı üyeden alıntı: mesajı görüntüle
    daha önce bu forumda verilmişti bu kodlar bende arşivime kaydetmiştim, buyrun.
    function karaktertemizle($deger) {
        $gecerliler=",q,w,e,r,t,y,u,i,o,p,a,s,d,f,g,h,j,k,l,z,x,c,v,b,n,m,0,1,2,3,4,5,6,7,8,9,_,";
        if (!empty($deger)) {
            $deger=trim(strtolower ($deger));
    
    // turkish characters
            $deger=ereg_replace(" ","_",$deger);
            $deger=ereg_replace("ğ","g",$deger);
            $deger=ereg_replace("ü","u",$deger);
            $deger=ereg_replace("ş","s",$deger);
            $deger=ereg_replace("ı","i",$deger);
            $deger=ereg_replace("ç","c",$deger);
            $deger=ereg_replace("ö","o",$deger);
            $deger=ereg_replace("Ğ","g",$deger);
            $deger=ereg_replace("Ü","u",$deger);
            $deger=ereg_replace("Ş","s",$deger);
            $deger=ereg_replace("Ç","c",$deger);
            $deger=ereg_replace("Ö","o",$deger);
            $deger=ereg_replace("İ","i",$deger);
            $deger=ereg_replace("305","i",$deger);
            $deger=ereg_replace("214","o",$deger);
            $deger=ereg_replace("246","o",$deger);
            $deger=ereg_replace("252","u",$deger);
            $deger=ereg_replace("231","c",$deger);
            $deger=ereg_replace("199","c",$deger);
            $deger=ereg_replace("220","u",$deger);
            $deger=ereg_replace("304","i",$deger);
            $deger=ereg_replace("287","g",$deger);
            $deger=ereg_replace("351","s",$deger);
            $deger=ereg_replace("286","g",$deger);
            $deger=ereg_replace("350","s",$deger);
            $deger=ereg_replace("8217","",$deger);
            $deger=ereg_replace("8216","",$deger);
            $deger=ereg_replace("amp","",$deger);
            $deger=ereg_replace("ynt","",$deger);
    
    // utf 8 turkish
            $deger=ereg_replace("İ","i",$deger);
            $deger=ereg_replace("Ö","o",$deger);
            $deger=ereg_replace("ö","o",$deger);
            $deger=ereg_replace("Ü","u",$deger);
            $deger=ereg_replace("Ç","c",$deger);
            $deger=ereg_replace("ç","c",$deger);
            $deger=ereg_replace("ü","u",$deger);
            $deger=ereg_replace("ı","i",$deger);
            $deger=ereg_replace("ÄŸ","g",$deger);
            $deger=ereg_replace("ÅŸ","s",$deger);
            $deger=ereg_replace("Äz","g",$deger);
            $deger=ereg_replace("Åz","s",$deger);
    /*
    // windows sunucular icin
            $deger=ereg_replace("%c4%b1","i",$deger);
            $deger=ereg_replace("%c3%b6","o",$deger);
            $deger=ereg_replace("%c3%96","o",$deger);
            $deger=ereg_replace("%c3%bc","u",$deger);
            $deger=ereg_replace("%c3%a7","c",$deger);
            $deger=ereg_replace("%c3%87","c",$deger);
            $deger=ereg_replace("%c3%9c","u",$deger);
            $deger=ereg_replace("%c4%b0","i",$deger);
            $deger=ereg_replace("%c4%9f","g",$deger);
            $deger=ereg_replace("%c5%9f","s",$deger);
            $deger=ereg_replace("%c4%9e","g",$deger);
            $deger=ereg_replace("%c5%9e","s",$deger);
    */
    
            $yeni="";
            for ($i=1; $i<=strlen($deger); $i++) {
                if (strpos($gecerliler,"," . substr($deger,$i-1,1) . ",")>0) { 
                    $yeni=$yeni . substr($deger,$i-1,1); 
                    }
            }
            $deger=$yeni;
        
            return $deger;
            
        }else {
            
            return ereg_replace("__","_",$deger);
        }
    }
    bu arada bir not ekliyeyim. ereg ve eregi ler yeni php versiyonlarinda desteklenmiyor notice verir . yerine preg_replace preg vs kullanmaniz tavsiye ediliyor.
  • 13-10-2010, 20:47:00
    #6
    çok teşekkürler, fakat phpde yeni olduğum için uygulayamadım. uygulamasınıda açıklayacak biri olursa çok memnun olurum
  • 14-10-2010, 09:37:39
    #7
    Paylaşımlarınız için teşekkürler. Gerekli bir php bilgisi.
  • 20-10-2010, 12:48:50
    #8
    birde bunu sayfada nasıl kullanacağım hakkında bilgi verseniziyi olur. sayfadaki tüm verilerde aynı işlemin yapılmasını istiyorum. yok mu yardım edecek?
  • 21-10-2010, 14:36:29
    #9
    Üyeliği durduruldu
    o fonksiyonu ben vermistim baya eskidi kusura bakmayın arkadaslar ereg_replace yerine str_replace yazıp kullanabilirsiniz en basitinden

    kullanımı ise
    function karaktertemizle($deger) {
    // bla bla
    }
    // dosyanın ustune bi yere ekledin diyelim
    $turkish='öçlşğp';
    echo karaktertemizle($turkish).'<br />';
    kullanım alanınına gore degisir