İçeriğe Atla
POPÜLER ARAMALAR: reklam, pazarlama, ,
kod, wordpress, eklenti, web, teknoloji,
programlama, tasarım, ajax, linux, Pardus, blog
Feedburner RSS
Şemsiye


19 Şubat 2006

Php İle Metin Sınırlama

Kategori Php, Web | Toplam 224 kez okunmuş | 5 Yorum

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;
 


Benzer Yazılar



Yorumlar

“Php İle Metin Sınırlama” için 5 Yorum

  • 1 brsyuksel

    Yakuter selamlar öncelikle. Bahsettiğin yöntem sık kullanılan bir yöntem. Ancak kimi zaman öyle bir noktada bölüyor ki koca metini, sinir küpü olmamak elde değil. Bu nedenle verdiğin yöntemi biraz değiştirerek şöyle bir mantık izlenebilir.

    Metin içerisinde sürekli tekrarlanan bir karakter taban alınır. Örneğin: nokta ya da boşluk gibi. Daha sonra explode ile bir array değişkenine metin içerisinde ki yazılar yazılır. Array hesabı alındıktan sonra istenilen kelime ya da cümle kadar döngüye sokulur. Sonra ver devamı diye gitsin :)

    Verdiğim mantıkta sorun çıkarabilecek olanlar boşluklar veya noktalardır. Ancak döngü içerisinde arraylar dökülürken, bu sorun giderilir. Hece hesabından iyidir diye düşünüyorum :)

    Yanlış anlama paylaşımını baltalamak değil amacım, sadece gönlümden geçti paylaşmak istedim.

    Kendine çok iyi bak :)

  • 2 yakuter

    Estağfurullah Barış ne baltalaması. Tam tersine böyle makaleyi geliştirici yorumlar geldikçe daha da memnun oluyorum. Ne de olsa burada maksat bu konuyu öğrenmek isteyenlere bir şeyler verebilmek.

    Çok teşekkür ederim değerli yorumun için ;)

  • 3 lestioni

    brsyuksel’in dediğine katılıyorum ben de.. bu gibi durumlarda karakter değil de kelime sayısına göre kesmek daha mantıklı oluyor biraz.. kendi kullandığım yöntem şu şekildedir:

    // ö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 ‘ devamı burada‘;

  • 4 lestioni

    echo ‘ devamı burada yazan yerde yazi.php?oku=$id şeklinde bir bağlantı verdim ama direkt bağlantı olarak çıktı :/ yorumlara kod eklememiştim bu şekilde daha önce, kusura bakmazsınız artık.. bağlantı vermeyi biliyorsunuzdur zaten :)

  • 5 yakuter

    @lestonix, vermiş olduğun örnek için çok teşekkür ederim. Böylece konu tamamen pekişmiş oldu :)


Yorum Yapın

yakuter.com © 2006-2008 Erhan Yakut. Site tasarım fallendesign.
Site içerisindeki içerikler izinsiz kopyalanamaz, alıntı yapılamaz.

WordPress Generator Valid XHTML 1.0 Transitional Valid CSS! Clicky Web Analytics

tracker