Php

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.

10 yorum Beğen Paylaş Php substr yerine mb_substr kullanın

Php substr yerine mb_substr kullanın

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

Özetle :)

Bundan sonra Çok baytlı Dizge İşlevleri fonksiyonlarını kullanıyoruz Türkçe karakterlerimizde problem yaşamamak için ;)

6 Mayıs 2009, 07.31 tarihinde yayınlanmış
Bu yazı 10 adet yorum almıştır ve bunların 10 ile 0 arası görüntülenmektedir. Yorumları RSS ile takip edebilirsiniz.
Mehmet
| 15 Ekim 2009 , 20:27
#10

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.

| 16 Eylül 2009 , 19:10
#9

Dostum bilgi çok işime yaradı, sağol.

Evren Özcan
| 09 Temmuz 2009 , 10:54
#8

Çok teşekkürler tam aradığım şeydi.

| 16 Haziran 2009 , 10:33
#7

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 ?

| 27 Mayıs 2009 , 15:30
#6

tam aradıgım şey..sagolun

| 18 Mayıs 2009 , 17:13
#5
brsyuksel
| 11 Mayıs 2009 , 08:18
#4

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 :)

| 08 Mayıs 2009 , 15:11
#3

Çok makbule geçti, teşekkürler kanka ;)

| 06 Mayıs 2009 , 19:37
#2

Çok teşekkürler. Gayet Önemli Bir Konuydu.

| 06 Mayıs 2009 , 13:30
#1

ne söyleyeyim hep yaşadığım bir sorundu. çok şukela oldu bu bilgi. sağol.

© 2005 - 2010 Tüm hakları dmRy.net'e aittir.
Kullanım şartları yerine getirilmeden hiçbir şekilde kopyala-yapıştır yapılamaz, yazılar ve bilgiler kullanılamaz.
Dmry.net Vital Teknoloji tarafından desteklenmektedir
yukarı dön