substr() fonksiyonu stringin belirli bir kısmını döndürmek için kullanılır. Açıkçası kullanımı biraz karışıktır çünkü aldığı pozitif ve negatif değerlere göre farklı işlem uygular. Kullanım yerine göre 2 veya 3 parametre alır. Örneklerle açıklamaya çalışalım.
Syntax
substr(string,start,length)
string: Zorunludur. String tanımlanır.
start: Zorunludur. Stringin neresinden başlanacağını belirtir. Pozitif veya negatif değer alabilir.
length: İsteğe bağlıdır. Dönecek kısmın uzunluğunu belirtir. Pozitif veya negatif değer alabilir.
Not: 2 parametre ya da 3 parametreli kullanımı ile pozitif ya da negatif değer almasına göre fonksiyon farklı çalışır.
Not: substr() fonksiyonu Türkçe karakterlerde sıkıntı oluşturur. Bu yüzden aynı işlevi gören fakat çok baytlı olan mb_substr() fonksiyonunu kullanmalısınız ve kullanmadan önce de en başa şu kodu eklemelisiniz.
mb_internal_encoding("UTF-8");
// UTF-8 yazan yer karakter kodlamasıdır
Not: 4. ve 6. örneklerde göreceğiniz 3. parametresi negatif olan değerler için kısayol; 2 değer arasında kalan kısmı alın.
Örnek 1)
Baştaki T 0. karakterdir, soldan sağa doğru 5. karaktere gider ve 5. karakter dahil olmak üzere geri kalan kısmı yazdırır.
<?php
echo substr("Test Ediyoruz",5);
// Çıktı: Ediyoruz
?>
Örnek 2)
Sondaki z 1. karakter olmak üzere sondan başlayarak sola doğru 4 karakter yazdırır
<?php
echo substr("Test Ediyoruz",-4);
// Çıktı: oruz
?>
Örnek 3)
Sonraki z 1. karakter olmak üzere sondan başlayarak sola doğru 4. karaktere gider ve 4. karakterden itibaren sağa doğru 3 karakter yazdırır.
<?php
echo substr("Test Ediyoruz",-4,3);
// Çıktı: oru
?>
Örnek 4)
Sondaki z 1. karakter olmak üzere sondan başlayarak sola doğru 4. karaktere gider ve yine sonran başlayarak sola doğru 3. karaktere gider, arada kalan kısmı yazdırır.
<?php
echo substr("Test Ediyoruz",-4,-3);
// Çıktı: o
?>
Örnek 5)
Baştaki T 0. karakterdir, soldan sağa doğru 5. karaktere gider ve 5. karakter dahil olmak üzere soldan sağa doğru 2 karakter yazdırır.
<?php
echo substr("Test Ediyoruz",5,2);
// Çıktı: E
?>
Örnek 6)
Sondaki z 1. karakter olmak üzere sondan başlayarak sola doğru 2. karaktere gider, baştaki T 0. karakter olmak üzere soldan başlayarak soldan sağa doğru 5. karaktere gider, arada kalan kısmı yazdırır.
<?php
echo substr("Test Ediyoruz",5,-2);
// Çıktı: Ediyor
?>
Örnek 7)
Türkçe karakterler mb_substr() fonksiyonu ile problemsiz yazdırılabilir.
<?php
mb_internal_encoding("UTF-8");
echo mb_substr("Deneme Yazısı",4);
// Çıktı: me Yazısı
?>
YORUMLAR