Öneri ve Hata Raporu



Günün Sözü Sevemez kimse seni benim sevdiğim kadar

kategori PHP
oylama 2.9/5 yorum 7 yorum yazar Hakan Taşan tarih 31 Ekim 2013

Bu makalede PHP'nin devasa kütüphanesinden bize sunduğu metin işlemlerini gerçekleştireceğimiz strtoupper(), strtolower(), lcfirst(), ucfirst() ve ucwords() fonksiyonlarını inceleyeceğiz. 5 fonksiyonun da ortak özelliği ya büyük harfi küçüğe ya da küçük harfi büyüğe dönüştürür. Şimdi hepsini sırasıyla örneklerle inceleyelim.

1) strtoupper()

Bütün karakterleri büyük harfe dönüştürür.

Syntax

strtoupper(string)

 

Örnek Kod

<?php
    echo strtoupper("Lorem ipsum dolor sit amet");
    // Çıktı: LOREM IPSUM DOLOR SIT AMET
?>

 

2) strtolower()

Bütün karakterleri küçük harfe dönüştürür.

Syntax

strtolower(string)

 

Örnek Kod

<?php
    echo strtolower("Lorem ipsum DOLOR sit amet");
    // Çıktı: lorem ipsum dolor sit amet
?>

 

3) lcfirst()

Metnin ilk kelimesinin baş harfini küçük harfe dönüştürür.

Syntax

lcfirst(string)

 

Örnek Kod

<?php
    echo lcfirst("Lorem ipsum DOLOR sit amet");
    // Çıktı: lorem ipsum DOLOR sit amet
?>

 

4) ucfirst()

Metnin ilk kelimesinin baş harfini büyük harfe dönüştürür.

Syntax

ucfirst(string)

 

Örnek Kod

<?php
    echo ucfirst("lorem ipsum DOLOR sit amet");
    // Çıktı: Lorem ipsum DOLOR sit amet
?>

 

5) ucwords()

Metindeki her kelimenin baş harfini büyük harfe dönüştürür.

Syntax

ucwords(string)

 

Örnek Kod

<?php
    echo ucwords("lorem ipsum DOLOR sit amet");
    // Çıktı: Lorem Ipsum DOLOR Sit Amet
?>

 

Not: Türkçe harfleri büyük harfe veya küçük harfe çevirme işlemi hatalı olacaktır. Bu hatayı gidermek için bu karakterleri orijinal karakterlerle değiştirmek gerekir. Bu iş için hazırladığım 2 fonksiyonu size veriyorum.

<?php
    function kucukten_buyuge($metin){
        $bul = array('ı','i','ğ','ü','ş','ö','ç');
        $degistir = array('I','İ','Ğ','Ü','Ş','Ö','Ç');
        $metin = str_replace($bul,$degistir,$metin);
        return $metin;
    }  
    function buyukten_kucuge($metin){
        $bul = array('I','İ','Ğ','Ü','Ş','Ö','Ç');
        $degistir = array('ı','i','ğ','ü','ş','ö','ç');
        $metin = str_replace($bul,$degistir,$metin);
        return $metin;
    } 
?>

 

paylaş Paylaş
oylama yap Oyla

makale yorumları YORUMLAR

7 Yorum


yorum

Nejdet Acar

29 Eylül 2016 21:16


Merhabalar,

Yaptığım sitenin yönetim panelinde uğraştığım bir sorunla alakalı Google amcama sorarken sizin sitenize, bu sayfaya ulaştım ve memnun kaldım.
PHP nin kendi küçük harfe çevirme fonksiyonu Türkçe harflerde sorunlu çalıştığı için çare ararken bu sayfaya geldim. En sonda yazdığınız küçük, büyük harf fonksiyonunu alıp, sonrasında bir ilave fonksiyon da ben ekleyerek son amacıma ulaştım.
Fonksiyonunuz beni yönlendirerek istediğim sonuca ulaştığım için oldukça memnunum.
Bu sebeple size teşekkür ederim. Ayrıca böyle faydalı bir içeriğe kimsenin yorum yapmamasını da yadırgayıp yorum yazmak hem de teşekkür etmek istedim.

Saygılar...

yorum

Admin

30 Eylül 2016 12:23


Merhaba Nejdet Bey, güzel sözleriniz için çok teşekkür ederim :) faydalı olabildiysem ne mutlu bana

yorum

rıdvab baş

13 Kasım 2016 19:36


hakan bey,
Bu yazdıklarınızı form kutucuklarına nasıl uygulayacağız. biraz yeniyimde tam bilmiyorum yardım ederseniz sevinirim. örneğin üye olmak isteyen bir kişi üyelik formuna adını soyadını örneğin rıdvan b diye yazsa diğer kutucuğa geçince otomatikman adı soyadı Rıdvan B olarak değişse. bunun kodu nasıl yazılır. nasıl komut verilir. kimse tam olarak yazmamış bir ilgilenirseniz çok sevinirim. birde açıklayıcı olsun ltf. yani üye adayı ister büyük harfle yazsın ister küçük harfle yazsın sistem düzenlesin ad ve soyad baş harflerini büyük yapsın.

yorum

Admin

13 Kasım 2016 23:08


Merhaba Rıdvan Bey,

söylediğiniz işlemler server tarafında yani php ile yapılamaz. o yüzden javascript kullanıp, anlık input (kutucuk) kontrolü ile harf değiştirme işlemleri uygulayacağız. İstediğiniz gibi kelimelerin ilk harfleri büyük, sonraki harfleri otomatikman küçük olacak. Tabii ki kutucuk içerisinden çıkıldığında bu işlemler gerçekleşecek. Size kodları vereceğim, yapmanız gereken kodları uygun yerlere kopyalamak olacak.

Bu kodu input (kutucuk) oluşturmak için kullanacağız. onblur ile kutucuk içerisinden çıkıldığında çalışacak fonksiyonu belirttik.

<input type="text" id="isim" onblur="ilkHarfBuyuk()">


Bu da değişim fonksiyonumuz. Sayfanızın herhangi bir yerine kopyalayın. Mümkünse <head> </head> etiketleri arasında olsun.

<script type="text/javascript">
function ilkHarfBuyuk()
{
var str = document.getElementById("isim");
str.value = str.value.replace("I","ı").toLowerCase().replace(/(^|\\s)([a-zöçşğüı])/g, function(letter){
return letter.replace("i","İ").toUpperCase();
});
}
</script>


Yapmanız gereken işlemler bu kadar. Çalışmaz ise tekrar yazabilirsiniz.
Not: Fonksiyondaki ([a-zöçşğüı])/g, buradan önceki kısım editörden kaynaklı olarak hatalı çıkıyor. s harfinden önce bir tane slash işareti olacak, iki tane değil, yoksa çalışmaz dikkat edin.

yorum

rıdvan

14 Kasım 2016 12:58


Hakan bey,
Çok teşekkür ederim.

Başarılarınızın devamını dilerim.
harikasınız!
Bu yazdıklarınız birçok kişinin işine de yarayacak!

yorum

Rıdvan b

14 Kasım 2016 13:31


Denemeyi de yaptım harika çalışıyor. Kodu kullanacaklar s(\\) ikinci slash ı kaldırmalılar. kaldırmazlar ise soyad kısmı büyük harfe dönüşmüyor.

Ellerinize sağlık!

Nazik ve hızlı cevabınızdan dolayı tekrar teşekkür ederim.


yorum

Admin

14 Kasım 2016 14:02


Rica ederim. Denemek isteyenler http://hakantasan.com/ornekler/ilkharfbuyuk.php adresini kullanabilirler.