• 17-08-2019, 10:47:48
    #1
    Merhabalar, kişisel tanıtım sitesi tarzı bir web sitesi yaptım. admin panelinden html editor var ve yazıya <strong> vs. tarzı stiller verebiliyor.

    fakat çekerken 20 karakter ile sınırlandırıyorum örnek Kısa Deneme Yazısı . . </strong oluyor ve 21. karakter olduğu için sorun çıkartıyor sitede.
    nasıl çözebiliriz?

    <?php
                            $url = $key['id'];
    // Sınırlandıralacak yazınız.
    $yazi = $key['metin'];
    // Yazının karakter sayısı.
    $uzunluk = strlen($yazi);
    // Sınırlandıralacak sayı.
    $sinir = 20;
    // Yazının uzunluğunun sınırdan büyük olup olmadığını kontrol et.
    if ($uzunluk > $sinir) {
    // Eğer büyükse Devamını Oku yazısını ekle.
    $icerik = substr($yazi,0,$sinir) . "&nbsp;" . "<strong><a href='blog-detay.php?detay=".$url."'>Devamını Oku &raquo;</a></strong>";
    }
    // İçeriği ekrana yazdır.
    echo $icerik;
     ?>
  • 17-08-2019, 10:54:33
    #2
    Platin üye
    Kısaltmalarda;
    substr
    yerine Türkçe karakterlerde sorun yaşamamanız için;
    mb_substr
    Yazı içinde, önce tagları kaldırmanızı;
    $yazi = strip_tags($yazi);
    Öneririm.

    İyi çalışmalar dilerim.
  • 17-08-2019, 10:54:44
    #3
    Html islenmemis saf metni karakter saydirip html haliyle yazdirabilirsiniz.
    Bold metin 20 karakterden küçük diye yazdirma ifine sokup
    Bold metinden sonraki ilk > e kadar yazdirabilirsin

    Aklıma ilk bu geldi daha basit bir şey gelirse eklerim ama inşallah işine yarar
  • 17-08-2019, 10:58:43
    #4
    strip_tags ile $key['metin'] içindeki <strong> tarzı etiketler temizledikten sonra kısaltılırsa sorun kalmaz.
    $yazi = $key['metin']; kısmını $yazi = strip_tags($key['metin']); olarak güncellemeniz yeterli.
  • 17-08-2019, 10:58:53
    #5
    kısalttıktan sonra farklı bir değişkene atayıp httml taglarini orada verebilirsin yaptığın yapıyı bozmamış olursun
    misal;
    $son_hali = "<strong>".$kisaltilmis."</strong>";
    echo $son_hali;
  • 17-08-2019, 11:18:42
    #6
    Sorun çözüldü, teşekkürler