Şimdi Ara

PHP veri çekerken html kod hatası

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
7
Cevap
0
Favori
295
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhaba arkadaşlar. Veritabanından veri çekerken şöyle bir durumla karşılaştım. Kod;

     
    $icerik2 = "1<br/>2<br/>3<br/>4<br/>5<br/>6"; //Yazdırılacak örnek metin
    $icerik =mb_substr($icerik2, 0, 14); //Ben ilk 14 karakterin yazdırılmasını istiyorum mesela.

    echo $icerik; ?>
    //Bu şekilde bir div içinde ekrana yazdıracam.


    Çıktısı şöyle oluyor: <div class="icerik">1<br/>2<br/>3<</div>

    Sondaki kısmı farkettiyseniz "<</div>" oluyor. Ve ekranı mahfediyor.

    Tabi bazen de oluyor. yani yazının uzunluğuna göre değişiyor. Bunu halledeceğim bir kod varsa lütfen söyleyin. Çözemedim bitürlü.



    < Bu mesaj bu kişi tarafından değiştirildi Mehmet0173 -- 13 Ekim 2016; 23:27:57 >



  • icerik2 değişkeninden sadece sayıları değil, <br> kodlarını da kesiyor bu kod. Eğer yazının 15. karakteri ">" ise bu, "<br</div>" olur. Sizin yazınızın son karakteri "<" olduğu için çift gözüküyor.

    < Bu ileti DH mobil uygulamasından atıldı >
  • Tamam sorunu biliyorum zaten. Bu sorunu nasıl bir kodla düzelteceğimi öğrenmek istiyorum. Yani cümlenin son karaktersi "<" ie, veya "<b" ise, veya "<br" ise bu son karakterleri yazdırmasın. Sadece ondan öncekileri yazdırsın. Böylece html kod hatası oluşmaz sayfamda. Umarım bu sefer anlatabilmişimdir..
  • PHP'den anlayan kimse yok mu koskoca forumda ya? :(
  • Mehmet0173 M kullanıcısına yanıt
    Anladığım kadarı ile senin çekilen verilerin sabit değil. Bu yüzden de karışıklı oluyor. Şu şekilde bir çalışma yapalım istersen.
    veritabanı yada manuel gelen verilere şu şekilde ekleme yapmalısın. <br> eklemek yerine otomatik br ekleyici kodumuzu kullanmalısın bu şekilde 3< şeklinde yarım yamalak kalmazsın. Örneğin

    $cekilenveri = "1\n2\n3\n4\n5\n6";
    $brekle = nl2br($cekilenveri);

    şeklinde bir kullanım sağlayabilirsiniz.
  • Ben cevap vermeyi unuttum ya k.bakmayın. Teşekkür ederim cevabınız için. kodu da daha deneyemedim zaten, yapamayınca ertelemiştim. tekrar bakarım, olmazsa dönerim yine. Teşekkür ederim tekrar.
  • Eğer gelen veri sadece br içeriyorsa önce onları replace ile temizle fakat baska html kodları da olma ihtimali varsa ozaman aksoydesign dediği de çözüm olmayacaktır her html etiketine farklı bir tanımlama veritabanını gereksiz yere şişirecektir
    bu durumlarda php nin hazır fonksionlarından faydalanırız strip_tags
    strip_tags: önce veriyi tüm php ve html kodlardan arındırır metin olarak verir sonra istediğimiz sayıda karakter çekeriz.
      $icerik = "1<br/>2<br/>3<br/>4 Bu şekilde bir div içinde ekrana yazdıracam<br/>5<br/>6<div>Yazdırılacak örnek metin</div>"; 
    $icerik = strip_tags($icerik);
    $icerik =mb_substr($icerik, 0, 14); //Ben ilk 14 karakterin yazdırılmasını istiyorum mesela.

    echo strip_tags($icerik);
  • Yapay Zeka’dan İlgili Konular
    PHP ile CSS yolu problem
    15 yıl önce açıldı
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.