• 19-02-2010, 13:48:31
    #1
    Merhaba, strlen() ile string ifadede ki karakter sayısını hesaplıyoruz. Ama o string ifadenin içinde kaç tane - olduğunu nasıl hesaplayabiliriz?

    strlen('dört'); // 4 karakter ok.
    'burada-dört-tane-tire-var' buradaki 4 tane tireyi nasıl saydırabilirim ?
    <?php
    $veri = "Beş-N-ve-bir-------K.";
    
    foreach (count_chars($veri, 1) as $bayt => $kac) {
       echo "Dizgede $kac tane $bayt numarali karakter var.<br>";
    }
    ?>

    bu kodun çıktısı :
    Dizgede 10 tane 45 numarali karakter var.
    Dizgede 1 tane 46 numarali karakter var.
    Dizgede 1 tane 66 numarali karakter var.
    Dizgede 1 tane 75 numarali karakter var.
    Dizgede 1 tane 78 numarali karakter var.
    Dizgede 1 tane 98 numarali karakter var.
    Dizgede 2 tane 101 numarali karakter var.
    Dizgede 1 tane 105 numarali karakter var.
    Dizgede 1 tane 114 numarali karakter var.
    Dizgede 1 tane 118 numarali karakter var.
    Dizgede 1 tane 159 numarali karakter var.
    Dizgede 1 tane 197 numarali karakter var.

    ben sadece 45 numaralı karakterleri saydırmak istiyorum.

    explode ile yaptım.
    $text='sayılacak-tireler-vs';
    $deger=explode("-",$text);
    echo count($deger)-1;
  • 19-02-2010, 15:51:04
    #2
    Üyeliği durduruldu
    echo strlen(preg_replace('/[^\-]+/i',''),'bu-metinde-kaç--tire-varsa');
  • 19-02-2010, 17:49:01
    #3
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Php nin bunun için bir fonksiyonu var zaten,substr_count()
     <?php
    echo substr_count('burada-kaç-tane-tire-var','-');
    ?>