Problem: Degisken icerisinde saklanan string(duz yazi) ifadeleri hepsi buyuk veya hepsi kucuk harfler olacak sekilde degistirmek istiyorsunuz.
Cozum :
strtoupper() , strtolower(), ucfirst(), ve ucwords() hazir fonksiyonlarini kullanin.
Ornek :
setlocale (LC_CTYPE, ""); $ifade = "serkanin bacagi yavas yavas iyilesiyor"; $ifade = strtoupper ($ifade); // SERKANIN BACAGI YAVAS YAVAS IYILESIYOR $ifade = strtolower ($ifade); // serkanin bacagi yavas yavas iyilesiyor $ifade = ucfirst ($ifade); // Serkanin bacagi yavas yavas iyilesiyor $ifade = ucwords ($ifade); // Serkanin Bacagi Yavas Yavas Iyilesiyor ?>
Tartisma : Regular Expression kullanilarak ifade icerisinde duzenleme yapmak, bu tip fonksiyonlarin kullanimina gore daha yavastir.
Elinizden geldigince bu tip hazir fonksiyonlari kullanmayi deneyiniz.
Cogu zaman yapilan bir diger hata ise buyuk/kucuk harflerden duyarsiz islemler icin reg.exp kullanilmasidir.Bir ornek vermek istersek:
if (!strcasecmp ($ifade1,$ifade2)) { //..... buyuk/kucuk harflere duyarsiz eslesme islemleri } ?>
Burada kullandigimiz strcasecmp() fonksiyonu ile, buyuk/kucuk harflere duyarsiz olarak $ifade1 ve $ifade2 degiskenlerinin karsilastirilmasi islemi gerceklestirdik.Bu yontem herzaman icin eregi() , preg_match () gibi fonksiyonlarin kullanimindan cok cok daha hizlidir.
Leave a Reply