Eğer PHP ile uzun metinleri kısaltıp da kelimenin ortasından kesmesini istemiyorsanız paylaşayacağım fonksiyon tam size göre.
<?php function kisalt($metin, $uzunluk){ // substr ile belirlenen uzunlukta kesiyoruz $metin = substr($metin, 0, $uzunluk)."..."; // kesilen metindeki son kelimeyi buluyoruz $metin_son = strrchr($metin, " "); // son kelimeyi " ..." ile değiştiriyoruz $metin = str_replace($metin_son," ...", $metin); return $metin; } ?>
Bu fonksiyon ortasından kestiği son kelimeyi tamamen siliyor. Kullanımı ise şu şekilde:
<?php $uzunMetin = "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet."; echo kisalt($uzunMetin, 70); ?>
Çıktısı:
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam …
Eğer sadece substr ile kısaltmış olsaydık:
<?php echo substr($uzunMetin, 0, 70); ?>
Çıktı:
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonu
Gördüğünüz gibi kelimenin ortasından kesti.