Merhaba.
Veritabanından <?php echo $row['video_baslik']; ?> şeklinde başlıklarımı çekiyorum fakat bazı başlıkların karakterleri çok uzun olduğu için html tabloda taşma oluyor.
<?php echo mb_substr ($row['video_baslik'],0,100); ?> şeklinde olmuyor. Başlıkkarakterleri aynı sayıda geliyor yani kısalmıyor.
Nasıl çözüm bulabilirim
mb_substr veya alternatif bir fonksiyon ?
10
●172
- 16-01-2023, 00:16:59hocam 10 karaktere kadar denedim olmuyorblap adlı üyeden alıntı: mesajı görüntüle
- 16-01-2023, 00:22:48Ben şimdi bunu denedim gayet düzgün çalışıyor. Siz de sorun ne anlamadım.aLLioni adlı üyeden alıntı: mesajı görüntüle
$text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vitae tristique nisl. Donec euismod metus sed luctus finibus. Aliquam ultricies magna sed porttitor venenatis."; echo mb_substr($text, 0, 50);
- 16-01-2023, 00:28:12PHP'de mb_substr() fonksiyonu, bir dizgenin belirli bir aralıkta alınmasını sağlar. Ancak, belirli bir karakter sayısına göre değil, belirli bir bayt sayısına göre keser. Bu nedenle, çok uzun başlıkların kesilmemesine neden olabilir.
Alternatif olarak, PHP'de substr() fonksiyonu da kullanabilirsiniz. Bu fonksiyon, belirli bir karakter sayısına göre dizgenin bir kısmını alır. Örnek olarak:
<?php echo substr($row['video_baslik'], 0, 100); ?>
Bu şekilde, başlıklar 100 karakterden daha uzunsa, sadece ilk 100 karakter görüntülenir ve taşma problemi çözülür. - 16-01-2023, 01:20:16Yanlış bilgi. Bayt sayısına göre kesme diye bir şey yok. Karakter setine göre işlem yapar. Bu yüzden Türkçe karakter setlerinde kullanılması daha doğru olur. Hatta aynısı strlen için de geçerlidir. Düz strlen Türkçe metinleri sayma konusunda bazen sorun çıkarabilir o yüzden mb_strlen kullanılması da daha doğrudur.teknoweb adlı üyeden alıntı: mesajı görüntüle
- 16-01-2023, 01:27:34https://www.php.net/manual/tr/function.mb-substr.php 😒blap adlı üyeden alıntı: mesajı görüntüle