• 25-04-2008, 21:58:00
    #1
    str_replace ile türkçe karakterleri düzeltip sonra url linklerini seo ile uyumlu halde yapmak istiyorum.

    aşağıdaki kod, işimi görmeme yetiyor fakat sorun yaşıyorum.
    <?
    function trsil($q) { 
    $q = str_replace("&ccedil;","c",$q);
    $q = str_replace ("&ccedil;","c",$q); 
    $q = str_replace ("ğ","g",$q); 
    $q = str_replace ("İ","I",$q); 
    $q = str_replace ("ı","i",$q); 
    $q = str_replace ("ş","s",$q); 
    $q = str_replace ("&ouml;","o",$q); 
    $q = str_replace ("¨¹","u",$q); 
    $q = str_replace ("&Uuml;","U",$q); 
    $q = str_replace ("&Ccedil;","c",$q); 
    $q = str_replace (".","",$q); 
    $q = str_replace ("Ğ","g",$q); 
    $q = str_replace ("Ş","S",$q); 
    $q = str_replace ("&Ouml;","O",$q); 
    $q = str_replace (" ","-",$q); 
    $q = str_replace ("'","",$q); 
    $q = str_replace ("/","",$q); 
    $q = str_replace ("--","-",$q); 
     return $q; 
    } 
    
    ?>
    lugelasın bir scriptinden aldım bu kodları , kendi scriptime entegre etmeye çalışıyorum ama gene sorun veriyor bu karekterlerde. Bu harfleri nasıl uyumlu hale getirebilirim? ş,ç,ö,ğ,ı gibi harfleri
  • 25-04-2008, 22:05:29
    #2
    Kurumsal PLUS
    verdiği sorun nedir?
  • 25-04-2008, 23:52:39
    #3
    Kütüphaneyi kullanalım Tıkla

    kütüphanedeki $dizi1 değişkenindeki g harfini ğ yaparsan ğ'yide düzeltecektir.
  • 26-04-2008, 15:09:35
    #4
    3眉 , 3ü
    Ger莽ek A艧k gerçek aşk, bu şekilde görüküyor harfler bartuc

    Dr.iq adlı üyeden alıntı: mesajı görüntüle
    Kütüphaneyi kullanalım Tıkla
    kütüphanedeki $dizi1 değişkenindeki g harfini ğ yaparsan ğ'yide düzeltecektir.
    function trsil($text)
            {
                $dizi1=array("İ","Ş"," ","Ü","Ç","G","Ö","ı","ş","ü","ç","g","ö");
                $dizi2=array("I","S","-","U","C","G","O","i","s","u","c","g","o");
                $text=str_replace($dizi1,$dizi2,$text);
                $text=preg_replace("@[^A-Za-z0-9\-_]+@i","",$text);
                $text=strtolower($text);
                return($text);
    }
    senin verdigini bu şekilde yaptım Dr.iq, ama gene değişmedi.
  • 28-04-2008, 00:46:32
    #5
    Kendimin Yazıp Sorunsuz olarak bütün scriptlerimde kullandıgım bir fonksiyon dene istersen..

    Alıntı
    function cevir($kroyumben) {
    $tr = array('ş','Ş','ı','İ','ğ','Ğ','ü','Ü','ö','Ö','Ç', 'ç');
    $eng = array('s','S','i','I','g','G','u','U','o','O','C', 'c');
    $kroyumben = str_replace($tr,$eng,$kroyumben);
    $kroyumben = eregi_replace('[^0-9A-Za-z]',"_",$kroyumben);
    $kroyumben = str_replace('__','_',$kroyumben);
    return $kroyumben;
    }
  • 28-04-2008, 00:58:12
    #6
    SEF için daha gelişmiş bir fonksiyonu olan var mı ? €, ß, Â gibi karakterleri de kapsayan ?
  • 28-04-2008, 01:24:17
    #7
    Buyur kardeş bu daha gelişmiş

    Alıntı
    function seola($url)
    {
    $url = trim($url);
    $url = strtolower($url);
    $find = array('<b>', '</b>');
    $url = str_replace ($find, '', $url);
    $url = preg_replace('/<(\/{0,1})img(.*?)(\/{0,1})\>/', 'image', $url);
    $find = array(' ', '&quot;', '&amp;', '&', '\r\n', '\n', '/', '\\', '+', '<', '>');
    $url = str_replace ($find, '-', $url);
    $find = array('é', 'è', 'ë', 'ê', 'É', 'È', 'Ë', 'Ê');
    $url = str_replace ($find, 'e', $url);
    $find = array('í', 'ı', 'ì', 'î', 'ï', 'I', 'İ', 'Í', 'Ì', 'Î', 'Ï');
    $url = str_replace ($find, 'i', $url);
    $find = array('ó', 'ö', 'Ö', 'ò', 'ô', 'Ó', 'Ò', 'Ô');
    $url = str_replace ($find, 'o', $url);
    $find = array('á', 'ä', 'â', 'à', 'â', 'Ä', 'Â', 'Á', 'À', 'Â');
    $url = str_replace ($find, 'a', $url);
    $find = array('ú', 'ü', 'Ü', 'ù', 'û', 'Ú', 'Ù', 'Û');
    $url = str_replace ($find, 'u', $url);
    $find = array('ç', 'Ç');
    $url = str_replace ($find, 'c', $url);
    $find = array('ş', 'Ş');
    $url = str_replace ($find, 's', $url);
    $find = array('ğ', 'Ğ');
    $url = str_replace ($find, 'g', $url);
    $find = array('/[^a-z0-9\-<>]/', '/[\-]+/', '/<[^>]*>/');
    $repl = array('', '-', '');
    $url = preg_replace ($find, $repl, $url);
    $url = str_replace ('--', '-', $url);
    return $url;
    }
  • 28-04-2008, 10:44:42
    #8
    Teşekkürler.
  • 28-04-2008, 14:28:54
    #9
    iconv() fonksiyonu kullanarak deneyin bir de ?