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 :
<?php
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:
<?php
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.
Serkan Hadi Ceylani
serkan@turk-php.com
|