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
Burada kullandığınız nedir?Nerelerde kullanılır?
Sen de sağol kardeşim, kolay gelsin
2 dk önce bu yazından faydalandım, ellerine sağlık
gerçekten güzel bilgi.
mb_substr olarak kullandım gene sorun çözülmemişti.
sonuna utf-8 yazınca herşey değişti
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