• 26-11-2009, 14:52:41
    #1
    Girilen bir kelimedeki tekrarlayan harfleri silmek istiyorum ve büyük küçük harfe de dikkat etmeli.

    Örneğin Atatürk kelimesini fonksiyona tabii tuttuğumda çıktı:

    Ataürk olmalı.

    Hasan için; Hasn

    gibi.. Nasıl yapabilirim?
  • 26-11-2009, 15:59:57
    #2
    Üyeliği durduruldu
    dizi fonk. larını kullanarak kolaylıkla yapabilirsin

    $text = 'Mustafa';
    $_arr = array();
    $i = 0;
    while (isset($text[$i])) {
        array_push($_arr,$text[$i]);
        ++$i;
    }
    $_arr = array_unique($_arr);
    echo join('',$_arr)
    eğer kelime değil de cümle olursa aynı işlevi görür. boşlukları sildirmek istersen (Kemal Atatürk) array_unique fonk. dan sonra array_filter fonk. kullabilirsin

    kolay gelsin
  • 26-11-2009, 16:03:04
    #3
    <?php
    	$kelime = 'Atatürk';
    	$parcala = str_split($kelime);
    	$cikti = array_unique($parcala);
    	print_r($cikti);
    ?>
  • 27-11-2009, 18:14:42
    #4
    Üyeliği durduruldu
    Büyük küçük harf ayrım yapan;
    $kelime = 'Atatürk';
    echo join(array_unique(str_split($kelime)));
    // Çıktı: Ataürk
    Büyük küçük harf ayrım yapmayan;
    function array_iunique($a) {
        $dizide_ara = create_function(
            '$str, $a', 
            'foreach ($a as $v) 
                if (strcasecmp($str, $v) == 0) return true;
             return false;
        ');
        $cikti = array();
        foreach ($a as $k => $v)
            if (!$dizide_ara($v, $cikti)) { $cikti[$k] = $v; }
        return $cikti;
    }
    
    $kelime = 'Atatürk';
    echo join(array_iunique(str_split($kelime)));
    // Çıktı: Atürk