PHP substr - mb_substr FONKSİYONU METİN KIRPMA
Web sayfamızda bazen çok uzun metinleri kırpmak ve sadece belirli bir bölümünü görüntülemek gerekir. örneğin , Haber sitelerinde ve blog web sayfalarında makale hakkında bilginin bir kısmı verilerek "Devamını okumak için tıklayın" gibi ifadeleri oluşturmak için kırpmanız gerekir. Kendi bloğumda (Webcebir.com) makaleler bölümünde bu uygulamayı görmektesiniz.
Sözdizimi:
substr( metin,başlangıç,uzunluk)
metin : Gereklidir. kırpılacak metin belirtilir.
başlangıç : Gereklidir. Eğer başlangıç değiştirgesi negatif değilse geri dönen metin değeri, metnin 0'dan itibaren başlangıç konumundan başlar. Mesela, 'abcdef' metninde, 0'ıncı konumdaki karakter 'a', ikinci konumdaki karakter 'c'dir.
Eğer başlangıç değiştirgesi negatif ise, dönen metin değeri metnin sonundan itibaren başlangıç karakteri başlar.
Eğer metnin uzunluğu başlangıç metnin uzunluğundan küçükse ya da eşitse fonksiyon FALSE döndürür.
Örnek 1:Negatif başlangıç kullanımı
<?php
$test = substr("abcdef", -1); // "f" yazdırır.
$test = substr("abcdef", -2); // "ef" yazdırır.
$test = substr("abcdef", -3, 1); // "d" yazdırır.
?>
uzunluk :İsteğe bağlıdır. Eğer uzunluk değiştirgesi verildiyse ve pozitifse dönen metin, metnin uzunluğuna göre başlangıç'tan itibaren uzunluk'ta belirtilen karakter sayısı kadar karakter içerir.
Eğer uzunluk değiştirgesi verildiyse ve negatifse metnin sonundan belirtilen kadar, karakter çıkartılır (başlangıç negatif ise önce başlagıç konumu hesaplanır). Eğer başlangıç değiştirgesi negatif uzunlukla çıkarılan parçanın içindeki bir yeri işaret ediyorsa boş metin döner.
uzunluk verilmiş ve 0 ise FALSE, NULL ise boş bir metin döner.
Örnek 2:Negatif uzunluk kullanımı
<?php
$test = substr("abcdef", 0, -1); // "abcde" yazdırır
$test = substr("abcdef", 2, -1); // "cde" yazdırır
$test = substr("abcdef", 4, -4); // "" yazdırır
$test = substr("abcdef", -3, -1); // "de" yazdırır
?>
Dönen Değerler :
Başarı durumunda metnin çıkarılan kısmı, başarısızlık durumunda FALSE döner.
Örnek 3 - Basit substr() kullanımı
<?php
echo substr('abcdef', 1); // bcdef
echo substr('abcdef', 1, 3); // bcd
echo substr('abcdef', 0, 4); // abcd
echo substr('abcdef', 0, 8); // abcdef
echo substr('abcdef', -1, 1); // f
// Metin içerisindeki tek bir karaktere ulaşmak için
// "köşeli ayraçlar" da kullanılabilir.
$metin = 'abcdef';
echo $metin[0]; // a
echo $metin[3]; // d
echo $metin[strlen($metin)-1]; // f
?>
Örnek:
<?php
$metin = "Her zaman gemicinin istediği rüzgar esmez.";
$metin = substr($metin,0,20);
echo $metin;
?>
ÇIKTI:
Her zaman gemicinin
mb_substr fonksiyonu
Projelerinizde metinleri kısaltmak için substr fonksiyonu yerine mb_substr kullanırsanız, Türkçe karakterlerde problem yaşamazsınız.
Bir örnekle bu konuyu açıklayalım.
Örnek:
<?php
$metin = "Her zaman gemicinin istediği rüzgar esmez.";
$metin = substr($metin,0,27);
echo $metin;
?>
ÇIKTI:
Yukarıda gördüğünüz üzere Türkçe karakter sırasında problem söz konusu oluyor. Bu kez aynı uygulamayı mb_substr ile yapalım.
Sözdizimi:
mb_substr( metin,başlangıç,uzunluk,kodlama)
kodlama : İstege baglıdır. Kodlama değiştirgesinde karakter kodlaması belirtilir. Belirtilmediği takdirde dahili karakter kodlaması kullanılır.
mb_substr() fonksiyonunun kullanımı, substr() fonksiyonu ile hemen hemen aynıdır, sadece son parametre olarak "UTF-8" kod karakterine göre metinsel parça alması gerektiğini söylüyoruz.
Örnek:
<?php
$metin = "Her zaman gemicinin istediği rüzgar esmez.";
$metin = mb_substr($metin,0,27,'UTF-8');
echo $metin;
?>
ÇIKTI:
Ömer Faruk 17/03/2019
- HTML
- CSS
- PHP
- JQUERY
- PHOTOSHOP
- JavaScript
- Web Dünyası
- Linux
- MİTHRİL FRAMEWORK
- Laravel
- Git
- React
- HTML LİNK(Bağlantı)EKLEME - LİNK VERME
- HTML YAZI VE RESİM ORTALAMA
- HTML RESME LİNK VERME
- HTML FORM OLUŞTURMA
- CSS YATAY MENÜ YAPIMI
- HTML RESİM EKLEME
- CSS (BOYUT) GENİŞLİK VE YÜKSEKLİK (Width-Height)
- HTML DİV ve SPAN NEDİR?
- HTML ARKAPLANA MÜZİK EKLEME
- KALİTE KAYBETMEDEN RESİMLERİ BÜYÜTME