• 15-10-2008, 02:54:44
    #10
    kendi kullandığım fonksiyon
    <?
    
    function degis($str,$dizi=NULL){
    if($dizi == NULL){
    	$dizi=array('ü' => 'u' , 'ğ' => 'g' , 'ş' => 's' , 'ç' => 'c' , 'ö' => 'o' , 'ı' => 'i');
    }
    return strtr($str,$dizi);
    }
    
    $str='deneme stringimizde üğşçöı türkçe karakterlerini değiştiricez';
    
    echo degis($str,array('ü'=>'u')); // sadece ü değişir
    echo '<br>';
    echo degis($str); // fonksiyonumuzda default belirlediğimiz üğşçöı harfleri değişir.
    
    ?>
  • 15-10-2008, 16:27:41
    #11
    Kurumsal PLUS
    peki bunun str_replace'den farkı nedir?
  • 15-10-2008, 16:32:28
    #12
    Üyeliği durduruldu
    Pek bir farkı yok .
  • 15-10-2008, 16:49:16
    #13
    Bence farkı şu, strtr bulduğu ilk matchin yerini değiştirir ve durur, str_replace string sona erene kadar bütün matchleri değiştirir.
  • 15-10-2008, 18:23:45
    #14
    Üyeliği durduruldu
    strtr de sonuna kadar değiştiriyor.
  • 15-10-2008, 18:30:37
    #15
    Kimlik doğrulama veya yönetimden onay bekliyor.
    strstr bir string kümesinde bir karakterin olup olmadığına bakarken str_replace sadece değiştirme yapar. str_replace inde preg_replace den farkı ise str_replace'de regular expression kullanılmazken preg_replace de ek olarak regular expression da kullanılır.
  • 15-10-2008, 18:34:21
    #16
    tesekkurler hocam
  • 15-10-2008, 18:36:02
    #17
    Üyeliği durduruldu
    dnmtnk php dilinde açıklamayı yapmış
  • 15-10-2008, 18:44:25
    #18
    ayrıyeten ufak bir test yaparsak

    <?php
    
    /**
     * @author 
     * @copyright 2008
     */
    
    $string = "merhaba naber nasılsın";
    
    $strBeginTime = microtime();
    $strIslem = @strtr($string,"ı","i");
    $strEndTime = microtime();
    
    $strReplaceBeginTime = microtime();
    $strReplaceIslem = str_replace('ı','i',$string);
    $strReplaceEndTime = microtime();
    
    echo 'STRTR Sonuc: '.$strIslem.' İslem Süreci: '.($strBeginTime-$strEndTime).'<br>';
    echo 'STR_REPLACE Sonuc: '.$strReplaceIslem.' İşlem Süreci: '.($strReplaceBeginTime-$strReplaceEndTime); 
    
    ?>
    str_replace in strtr ye göre daha hızlı olduğu anlaşılmaktadır..