substr(string,start,length)$string: Burası boş bırakılamaz ve içerisine fonksiyonun kırpacağı metin girilir. $start: String ifadenin kırpmaya nereden başlayacağını belirtiriz. Yine burası da boş kalamaz ve artı-eksi değerler alabilir. $length: Burası boş bırakılabilir. Artı veya eksi değer alabilir. Not : Bu fonksiyon türkçe karakter kullanırsanız sorun çıkarabilir. Bunun yerine daha fazla bayt yer kaplayan mb_substr() fonksiyonunu kullanabilirsiniz. Bu fonksiyon içinse aşağıdaki kod parçacığını sayfanıza (en başa) dahil etmelisiniz.
mb_internal_encoding("UTF-8");Örnek:
<?php $deger = "substr fonksiyonu kullanımı"; echo substr($deger,5); ?>Buradaki kullanımda görüldüğü gibi ilk beş karakterden sonrasını aldı. Bunun sebebi iki değer vermiş olmamız. Başlangıç ve bitiş kısmını belirtirsek daha sağlıklı bir kırpma işlemi yapabiliriz. Şöyle ki ;
<?php $deger = "ilk beş karakterdensonrakikarakter gösterilir."; echo substr($deger,5,15); ?>Burada da görüldüğü gibi ilk karakter sıfır olarak belirlenir ve ilk 5 karakterden sonra 15 karakterlik bir kırpma işlemi yapılır. Örnek : Tüm metni ekrana yazdırmak istersek başlangıç sayısını sıfır olarak belirtmemiz yeterli olacaktır.
<?php $deger = "Tüm metni ekrana yazdırmak için..."; echo substr($deger,0); ?>Böyle bir kullanım da söz konusu olabileceği gibi eğer istersek bir if / else yapısı oluşturup belli bir karakterden sonra uyarı verebilir , üç nokta koyabilir ya da istediğimiz kadarını ekrana yazdırabiliriz. Şöyle ki ;
<?php $deger = "Bu bir deneme yazısıdır fonksiyonu denemek için kullanıyoruz. "; if(strlen($deger) > 50){ echo substr($deger,0,50).'...'; }else{ echo substr($deger,0,strlen($deger)); } ?>Yukarıdaki kullanımda gördüğünüz gibi 50 karakteri geçerse eğer metnin 50 karakterlik kısmını yazıp sonuna üç nokta koyduk. Eğer metin 50 karakteri geçmemiş ise tamamını yazdırdık.Böylelikle substr kullanımını da gördük. Bunu böyle kullanmak yerine size paylaştığım yazı kısaltma fonksiyonunu tavsiye ederim.