• 10-01-2009, 12:56:40
    #1
    Üyeliği durduruldu
    Merhabalar,

    ---------------
    <?

    $cumle = "bla bla haha zuha r10 ya ya 234 412"

    echo $cumle;

    ?>
    ---------------

    $cumle yi içindeki rakamları atarak nasıl yazdırabilirim ?
  • 10-01-2009, 13:23:05
    #2
    Üyeliği durduruldu
    <?

    $cumle = "bla bla haha zuha r10 ya ya 234 412"
    $cumle = ereg_replace ( "[0-9]","",$cumle);
    echo $cumle;

    ?>
  • 10-01-2009, 13:27:43
    #3
    CasTex adlı üyeden alıntı: mesajı görüntüle
    Merhabalar,
    ---------------
    <?
    $cumle = "bla bla haha zuha r10 ya ya 234 412"
    echo $cumle;
    ?>
    ---------------
    $cumle yi içindeki rakamları atarak nasıl yazdırabilirim ?
    Merhabalar aklıma ilk bir fonksiyon yazmak geldi tabi başka yolları da olabilir;
    function replace($text) { 
    
    $text = trim($text); 
    
    $search = array('0','1','2','3','4','5','6','7','8','9'); 
    
    $replace = array('','','','','','','','','',''); 
    
    $new_text = str_replace($search,$replace,$text); 
    
    return $new_text;
    Kullanımı;
    <? 
    $cumle = "bla bla haha zuha r10 ya ya 234 412"
    
    $new_string = replace($cumle); 
    echo $new_string; 
    ?>
  • 10-01-2009, 13:34:39
    #4
    Üyeliği durduruldu
    sdemirkeser, teşekkürler.
    macchess güzel dizmişsin ama 112 22213 gibi çok basamaklı sayıları da yutar mı acaba senin kodlar
  • 10-01-2009, 13:38:04
    #5
    Üyeliği durduruldu
    php de düzenli ifadeler yani regular expression kullanımı php5 den öncesinde vardı zaten "[0-9]" şeklindeki ifade tüm nümerik sayıları temsil eden regular expression ifadesidir.

    macchess in yazdığı ifade de aynen çalışır.
  • 10-01-2009, 14:41:04
    #6
    Üyeliği durduruldu
    sdemirkeser, verdiğin kod işliyor ama bir hata var, mesela şu fonksiyon (kelimeleri virgulle ayırma)

    $cumle = "POP MP3 Splitter 1.0";

    function kywrd($kelime) {

    $ayir = explode(" ",$kelime);
    $count = count($ayir);

    for($i=0; $count>$i; $i++) {
    if($i>0) $sonuc .= ", ";
    $sonuc .= strtolower($ayir[$i]);
    }

    return $sonuc;
    }
    echo kywrd($cumle);

    Output: pop, mp, splitter, .
  • 10-01-2009, 16:17:12
    #7
    CasTex adlı üyeden alıntı: mesajı görüntüle
    sdemirkeser, verdiğin kod işliyor ama bir hata var, mesela şu fonksiyon (kelimeleri virgulle ayırma)
    $cumle = "POP MP3 Splitter 1.0";
    function kywrd($kelime) {
    $ayir = explode(" ",$kelime);
    $count = count($ayir);
    for($i=0; $count>$i; $i++) {
    if($i>0) $sonuc .= ", ";
    $sonuc .= strtolower($ayir[$i]);
    }
    return $sonuc;
    }
    echo kywrd($cumle);
    Output: pop, mp, splitter, .
    Tam olarak sorun nedir acaba son virgülün atılmamasını mı istiyorsunuz.
  • 10-01-2009, 23:46:47
    #8
    Üyeliği durduruldu
    Sonda gereksiz yere virgül ve nokta var onu demek istiyorum.
  • 11-01-2009, 13:42:04
    #9
    CasTex adlı üyeden alıntı: mesajı görüntüle
    Sonda gereksiz yere virgül ve nokta var onu demek istiyorum.
    O zaman fonksiyonu şu şekilde değişin;
    function kywrd($kelime) {
    $ayir = explode(" ",$kelime);
    $count = count($ayir);
    for($i=0; $count>$i; $i++) {
    $sonuc=$ayir[$i];
    if($i==$count){$son=="";}else{$son==", ";}
    echo $sonuc.$son;
    }}