Php substr Türkçe karakter sorunu

Substr() fonksiyonu karakter (string) fonksiyonudur . Belirli bir karakterden sonra metni keser . Dikkat edilmesi gereken Metin başlangıç karakteri 1 değil , 0 ‘dır.String fonksiyonlar dizi mantığına göre çalışır.

KULLANIMI . . .

substr($metin, başlangıç değeri, kesilecek karakter sayısı;)

Örnekler . . .

Kodlar Çıktı Açıklama
<?php
$metin=”photoshop”;
echo substr($metin,3,2);
?>
to Metnin 3.karakterinden (“t”) ,itibaren 2 karakter (“to”) ekrana yazdırılır.Not: 0’ncı (sıfırıncı) karakter “p” den saymaya başlar.
<?php
$metin=”photoshop”;
echo substr($metin,1,4);
?>
hoto Metnin 1.karakterinden (“h”) ,itibaren 4 karakter (“hoto”) ekrana yazdırılır.
<?php
$metin=”photoshop”;
echo substr($metin,2);
?>
otoshop Son parametreyi kullanmazsak metnin geri kalanının tamamı yazdırılır.Metnin 2.karakterinden (“o”) ,itibaren ekrana yazdırılır.

Türkçe karakterler . . .

<?php
$metin=”Bilişim”;
echo substr($metin,5);
?>

Metnin 5. karakterinden (“i”) itibaren (TÜRKÇE KARAKTERDEN BİR SONRAKİ KARAKTER) yazdırdığımızda , normalde “im” çıktısı almamız geregirken aşağıdaki çıktıyı alırız.

Bu sorunu gidermek için substr() yerine mb_substr() fonksiyonu kullanılır.Böylece çıktısı “im” olur.

<?php
$metin=”Bilişim”;
echo mb_substr($metin,5);
?>

NOT : mb_substr() :Açıklamaları kısaltmak için kullanılır substr() gibi . Fakat Türkçe karakter problemi çıkarmaz.

Paylaş:

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir