• 14-06-2009, 00:35:35
    #1
    Üyeliği durduruldu
    ucword kullandığım kod bu arkadaşlar

    <?php if ($head_title != ""): print ucwords(strtolower($head_title)); endif; ?>

    burada türkçe karakterlerde hata alıyorum kelimelerin baş harfi büyük olarak çıkartıyorum diğerlerini küçük fakat ç,ğ,ü,ö,İ,ı gibi karakterlerde hata veriyor yardımcı olabilirmisiniz.

    örn bir çıktı

    Sigara Içenleri Işten çıkarmak Mı Lazım?

    Teşekkürler.....
  • 14-06-2009, 00:51:17
    #2
    <?php
    $yazi = "SIGARA İÇENLERI İSTEN ÇIKARTMAK MI LAZIM ?";
    $cevir = ucwords(strtolower($yazi));
    echo $cevir;
    ?>
    Sigara İçenleri İsten Çikartmak Mi Lazim ?
  • 14-06-2009, 01:00:34
    #3
    Üyeliği durduruldu
    Ntie adlı üyeden alıntı: mesajı görüntüle
    Sigara İçenleri İsten Çikartmak Mi Lazim ?
    burada türkçe karakter hatası hala var ama ben zaten ucwords ve strtolover yapıyorum yapamadığım strreplace
  • 14-06-2009, 01:04:48
    #4
    herhangi bir sorun göremedim.

    Sadece İ harflerinde bir sorun var onuda eregi ile halledebilirsiniz.

    $yazi = eregi_replace("İ","i",$yazi);
  • 14-06-2009, 13:31:54
    #5
    function kucult($text){
    $search = array ('@Ğ@',
    '/Ü/',
    '/Ş/',
    '/I/',
    '/İ/',
    '/Ö/',
    '/Ç/');
    
    $replace = array ('ğ',
    'ü', 
    'ş', 
    'ı', 
    'i',
    'ö',
    'ç'); 
    $text = preg_replace($search, $replace, $text); 
    $text = strtolower($text);
    return($text);
    }
    
    function buyult($text){
    $search = array ('/ğ/',
    '/ü/', 
    '/ş/', 
    '/ı/', 
    '/i/',
    '/ö/',
    '/ç/'); 
    
    $replace = array ('Ğ',
    'Ü',
    'Ş',
    'I',
    'İ',
    'Ö',
    'Ç');
    $text = strtolower($text);
    $text = preg_replace($search, $replace, $text); 
    $text = strtoupper($text);
    return($text);
    }
    
    function uc_first($str)
    {
    	$str = kucult($str);
    	$str2 = split(" ",$str);
    	$str = "";
    	for($i = 0; $i<sizeof($str2);$i++)
    	 {
    	  $str2[$i][0] = buyult($str2[$i][0]);
    	  if($i != 0 && $str2[$i] != "")
    	   $str .= " ";
    	  if($str2[$i] != "" && !is_array($str2[$i]))
    	   $str .= $str2[$i];
    	 }
    	 return $str;
    }
  • 14-06-2009, 18:45:21
    #6
    Üyeliği durduruldu
    PHP: setlocale - Manual

    tr karakter sorunu çözer ama sorunlarda çıkartır.

    diğer çözüm yolu : PHP: Çok Baytlı Dizgeler - Manual
  • 14-06-2009, 19:26:26
    #7
    Yukarıda uc_first komutu türkçe ile uyumlu çalışıyor