PHP’de bir metnin son karakter hariç tüm karakterlerini elde etmek


Elimizde bir metin ifade var diyelim…

$metin = "Elimizde bir metin ifade var diyelim...";

Bu metnin sonundaki üç nokta (…) almadan elde etmek için şöyle yaklaşır bazıları (ben mesela):

$uzunluk = strlen($metin);

Üç nokta üç karakterden oluşuyor.

echo $yeniMetin = substr($metin, 0, ($uzunluk - 3)); //Elimizde bir metin ifade var diyelim

Ama burada bir satır fazladan işlem yapmak yerine substr() fonksiyonunun güzel bir özelliğini kullanmak daha iyi olacak.

Negatif değerlerle metne soldan değil de sağdan da bakabiliriz.

Karakterler Z k a n o c a
Sıra Numarası (Soldan) 0 1 2 3 4 5 6
Sıra Numarası (Sağdan) -7 -6 -5 -4 -3 -2 -1

Bunu akılda tutmak için şöyle de düşünebilirsiniz.

Uzunluk = solIndex+|sağIndex|

veya

Uzunluk = solIndex - sağIndex

Yani soldan index numarası ile sağdan index numarasının mutlak değerini topladığınızda metnin kaç karakterden oluştuğunu vermesi lazım.

İlk örneğimize dönecek olursak

echo $yeniMetin = substr($metin, 0, - 3); //Elimizde bir metin ifade var diyelim

dediğimizde de aynı sonucu alırız.

 

Yine bir iki yöntem daha var. rtrim() fonksiyonu ile sağdan tıraşlanmış bir halde gösterebilirsiniz:

echo $yeniMetin = rtrim($metin,”.”); //Elimizde bir metin ifade var diyelim..

yazarsanız sadece son nokta atılır.

Ya da substr_replace() fonksiyonundan faydalanabiliriz.

substr_replace($metin,"",-3); //Elimizde bir metin ifade var diyelim

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s