• 18-10-2010, 02:26:23
    #1
    Üyeliği durduruldu
    Arkadaşlar. Anlayacağınız gibi bu kodla türkçe karakterleri ve boşlukları değiştiriyorum. Ama şöyle bir sorunum var. Bu kod işlem yapmadığı zaman bana bir sonuç vermiyor.
    Ama işlem yaptıklarında geçerli sonucu veriyor işlem yapmadan istediğim şeyleri vermiyor.

    Örn:
    Kelime : Ahmet
    $link sonucu : ğ veriyor.
    $bash sonucu : ğ veriyor.
    Kelime : Güzel Bir Gün
    $link sonucu : Guzel-Bir-Gun
    $bash sonucu: G
    olarak veriyor. benim istediğim ise işlem yapmasada bana $link e Ahmet sonucunu ve $bash olarak da A sonucunu vermesini nasıl sağlayabilirim?

    $orjinal=array("ı","ğ","ü","ö","ç","ş","Ğ","Ü","Ş" ,"İ","Ö","Ç","-"," "," ",$baslik[0]);
    $yap=array("i","g","u","o","c","s","G","U","S","I" ,"O","C",""," ","-",$orjinal[1]);
    $bas=str_replace($orjinal,$yap,$baslik[0]);
    $bash=substr($bas,0,1);
    $link=str_replace($orjinal,$yap,$baslik[0]);
  • 18-10-2010, 22:23:58
    #2
    function sefurl($s) {
      $tr = array('ş', 'Ş', 'ı', 'İ', 'ğ', 'Ğ', 'ü', 'Ü', 'ö', 'Ö', 'Ç', 'ç');
      $eng = array('s', 'S', 'i', 'I', 'g', 'G', 'u', 'U', 'o', 'O', 'C', 'c');
      $s = str_replace($tr, $eng, $s);
      $s = eregi_replace('[^0-9A-Za-z]', " ", $s);
      $s = trim($s);
      $s = str_replace(' ', "-", $s);
      for ($i = 0; $i <= 5; $i++) {
        $s = str_replace("--", "-", $s);
      }
      return strtolower($s);
    }
    sefurl($degisek_kelime) Şeklinde kullana bilirsin.