Sef url üretebilmek için aşağıdaki yöntemi kullanıyorum sitede 3 dil mevcut Türkçe, İngilizce ve Rusça Tr ve En dillerinde sorun yaşamıyorum ancak rusça url üretilmiyor Daha önce rusça siteyle ilgili sef link çalışmam olmadığı için çözüm yolu gelmedi aklıma yardımcı olursanız çok sevinirim...
Kullandığım kodları aşağıda veriyorum...
function url_baslik_yarat ($baslik="")
{
//değiştirelecek türkçe karakterler
$TR=array('ç','Ç','ı','İ','ş','Ş','ğ','Ğ','ö','Ö','ü','Ü');
$EN=array('c','c','i','i','s','s','g','g','o','o','u','u');
//türkçe karakterleri değiştirir
$baslik= str_replace($TR,$EN,$baslik);
//tüm karakterleri küçüklür
$baslik=mb_strtolower($baslik,'UTF-8');
// a'dan z'ye olan harfler, 0'dan 9 a kadar sayılar, tire (-),
// boşluk ve altçizgi (_) dışındaki tüm karakteri siler
$baslik=preg_replace('#[^-a-zA-Z0-9_ ]#','',$baslik);
//cümle aralarındaki fazla boşluğu kaldırır
$baslik=trim($baslik); //cümle aralarındaki
//boşluğun yerine tire (-) koyar
$baslik= preg_replace('#[-_ ]+#','-',$baslik);
return $baslik;
}
function url_yarat ($id, $baslik, $type=""){
//type bilgisi varsa uygun url üretilir
if ($type!="")
return sprintf('urun/%s/%s/%s.html',$type,$id,url_baslik_yarat($baslik));
else
return sprintf('urun-%s-%s-inceleme.html',$id,url_baslik_yarat($baslik));
}
$urun = urun_url_yarat($urunler["id"],$urunler["urun_adi_$lang"]);