Kişisel projelerinizde ifadeleri kısaltmak için substr fonksiyonu yerine mb_substr kullanırsanız, Türkçe karakterlerde problem yaşamazsınız. Ben de benzer problemler yaşıyordum bu konuda. Artık mb_substr tercihim olacak.
Nedir meydana gelen problem derseniz, alttaki kodları inceleyelim. Bu arada kodların yer aldığı sayfanın karakter seti UTF-8.
<?php $ifade = 'Ne zaman seni düşünsem'; echo substr($ifade,0,20); ?>
Yukarıdaki kodu çalıştırdığınızda alttaki çıktıyı elde edeceksiniz.
Ne zaman seni düş�
Gördüğünüz üzere Türkçe karakter sonrasında problem söz konusu oluyor. Bu kez aynı uygulamayı mb_substr ile yapalım.
<?php $ifade = 'Ne zaman seni düşünsem'; echo mb_substr($ifade,0,20,'UTF-8'); ?>
Bu kez düzgün bir çıktı elde ettik
Ne zaman seni düşüns
Bundan sonra Çok baytlı Dizge İşlevleri fonksiyonlarını kullanıyoruz Türkçe karakterlerimizde problem yaşamamak için
Yazinizi tesadufen baska bir sitede gordum. Hususi tesekkur icin buraya geldim
mb_ ile baslayan fonksiyonlari ben bu yaziyla farkettim. ve birakin turkceyi diger butun karekterler icin bile ideal bir durum oldugunu gorunce baya bi keyfim yerine geldi.
Tabi kucucuk bir sorun var “I” harfi “ı” yerıne “i” olarak yada hic degismeden donuyor.
neyse bu zaten basit bir olay.
çok teşekkürler.
Dostum bilgi çok işime yaradı, sağol.
Çok teşekkürler tam aradığım şeydi.
Hocam ben word press blog anasayfamda konuların sadece X karakteri kadar görünmesini isityorum mesela ilk 500 karakter görünsün sonra altına link olarak konunun devamını Oku diye link gelsin istiyorum nasıl yapabilirim ?
tam aradıgım şey..sagolun
Teşekkürler Hakan ![]()
http://www.srro.net/yazi/phpsu.....-mb_substr
Yalnız sadece mb_substr olarak değil, “mb_” ön ekli bütün yerleşik fonksiyonlar UTF-8 gibi bir çok karakter kodlamasını destekliyor. Geleneksel olarak kullanılan fonksiyonların önüne “mb_” ön ekini ekleme alışkanlığı yapmakta fayda var
Çok makbule geçti, teşekkürler kanka
Çok teşekkürler. Gayet Önemli Bir Konuydu.
ne söyleyeyim hep yaşadığım bir sorundu. çok şukela oldu bu bilgi. sağol.