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:

php substr

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:

php substr
Lütfen konu haricinde soru sormayın cevaplanmayacaktır. Yorumunuz onaylandıktan sonra yayınlacaktır.

9032

KATEGORİ
  • HTML
  • CSS
  • PHP
  • JQUERY
  • PHOTOSHOP
  • JavaScript
  • Web Dünyası
  • Linux
POPÜLER MAKALE
  • HTML RESME LİNK VERME
  • HTML LİNK(Bağlantı)EKLEME - LİNK VERME
  • HTML YAZI VE RESİM ORTALAMA
  • HTML DİV ve SPAN NEDİR?
  • HTML FORM OLUŞTURMA
  • HTML KAYAN RESİM VE Marguee KULLANIMI
  • HTML ARKAPLANA MÜZİK EKLEME
  • CSS (BOYUT) GENİŞLİK VE YÜKSEKLİK (Width-Height)
  • HTML RESİM EKLEME
  • PHP ceil()-floor()-round() YUVARLAMA FONKSİYONU
ETİKET
WEBCEBİR © 2013 Tüm hakları saklıdır.