• 30-07-2010, 23:50:12
    #1
    Reveloper
    Başlığa ne ad vereceğime bir türlü karar veremedim. Mesela sitenizde haberler bölümü var ve anasayfada haberlerin ilk 500 karakterinin gözükmesini istiyorsunuz. Yazının sonunda devamı… yazsın. Devamına tıklandığında yazının tamamı görünsün. İşte metin sınırlama derken bunu kastediyorum

    Bu kodla veritabanındaki yazı eğer 500 karakterden büyükse 500ncü karaktere kadar ekrana yazıp sonunda “devamı…” yazar.

     //Goruntulencek Metnin Tam Hali
    $detay = $row_HaberListele['detay'];
    //Var olan metin içindeki karakter sayısı
    $uzunluk = strlen($detay);
    //Kaç Karakter Göstermek İstiyorsunuz
    $limit = 500;
    //Uzun olan yer "devamı..." ile değişecek.
    if ($uzunluk > $limit) {
    $detay = substr($detay,0,$limit) . "devamı...";
    }
    echo $detay;

    Kelime sayısına göre sınırlama


    <?php
    // önce yazıyı kelimelere bölelim..
    $kelime = explode(" ",$yazi);
    // kaç kelime oldu bakalım..
    $say = count($kelime);
    // sınır belirleyelim..
    $sinir = 40;
    // eğer metindeki kelime sayısı sınırımızdan az ya da eşit ise yarısını keselim..
    if($say <= $sinir) { $kes = $say*50/100; }
    // sınırdan çok ise, sınır belirlediğimiz kelime sayısı olsun..
    else { $kes = $sinir; }
    // yazıyı ekrana basalım..
    for($i = 0; $i <= $kes; $i++)
    { echo $kelime[$i].' ' ; }
    // devam yazısı..
    echo ' <a href="#">devamı burada</a>';
    ?>

    Teşekkürler
  • 30-07-2010, 23:51:40
    #2
    bilgi için teşekkür ederim.
  • 05-08-2010, 03:56:09
    #3
    daha kolay bir yolu yok mu acaba
    teşekkürler Bilgi için
  • 10-08-2010, 10:16:50
    #4
    bazı sitelerimde bu substr komutuyla kesiyorum yazıları
    tam bir soru soracaktım: substr ile kesince yazıyı, son harf türkçe karakter ise son utf8'de harfi düzgün göstermiyor. Bunun çözümü var mı? diyecektim ki.. kelime ile kesmeyi gördüm. gerçi yazıyı ekrana for döngüsüyle kelime kelime yazıyor, siteyi yavaşlatmaz inş.
  • 10-08-2010, 10:19:37
    #5
    Wp'deki devamını oku olayı da bu şekilde işliyor. Teşekkürler hocam.
  • 14-08-2010, 03:36:13
    #6
    saturn_ixii adlı üyeden alıntı: mesajı görüntüle
    bazı sitelerimde bu substr komutuyla kesiyorum yazıları
    tam bir soru soracaktım: substr ile kesince yazıyı, son harf türkçe karakter ise son utf8'de harfi düzgün göstermiyor. Bunun çözümü var mı? diyecektim ki.. kelime ile kesmeyi gördüm. gerçi yazıyı ekrana for döngüsüyle kelime kelime yazıyor, siteyi yavaşlatmaz inş.
    Kelime tabanlı bir özetleme deneyin, Yukarıdaki kodun fonksiyonlaşmış şekli. Merak etmeyin 0.01sn ancak farkeder. Test yapmadım ancak yavaşlatması söz konusu değil (:
    function ozet($yazi, $limit = 10)
    {
    
    $ozet = "";
    $kelime = explode(" ", $yazi);
    if(count($kelime) > $limit) {
       for($i = 0; $i <= $limit; $i++) {
           $ozet .= $kelime;
       }
       return $ozet .= "...";
    }
    else
    {
       return $yazi;
    }
    
    }