Php Substr() Fonksiyonu

Php ile girilen bir metnin bir bölümünü bir nevi kırpmak istersek bu fonksiyonu kullanıyoruz. Kısaltma fonksiyonu kullananlar bilirler , orada substr fonksiyonu kullanılır ve değere göre bir kırpma işlemi yapılır. Kısa bir açıklamadan sonra fonksiyonun kullanımına ve birkaç örneğe göz atalım.

Kullanımına bir bakacak olursak üç adet değer aldığını görebiliriz. Bu değerlerden ilki metnin yer aldığı değişkeni , ikincisi nereden başlayacağı ve üçüncüsü de kaç karakter kırpacağını gösterir. Örnek gösterime bir göz atalım.

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.

 

AuthorHarun ALP

Bu adam , bilgi sahibi olduğu konularda makalelerini daha bilgilendirici hale getirip görseller ile süslüyor ve seo uyumlu makaleler ortaya çıkarıyor. Güncel webmaster konularını işlemekten keyif alıyor ve genelde her makale aslında bir sorunun çözümü niteliğinde.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir