function linkyap( $metin ){
$eski = array("I","Ğ","Ü","Ş","İ","Ö","Ç","Q","W","E","R","T","Y","U","O","P","A","S","D","F","G","H","J","K","L","Z","X","C","V","B","N","M",
"ı","ğ","ü","ş","ö","ç","â");
$yeni = array("i","g","u","s","i","o","c","q","w","e","r","t","y","u","o","p","a","s","d","f","g","h","j","k","l","z","x","c","v","b","n","m",
"i","g","u","s","o","c","a");
$metin = str_replace($eski,$yeni,$metin);
$metin = mb_strtolower($metin,'UTF-8');
$metin = preg_replace('#[^-a-zA-Z0-9_ ]#','',$metin);
$metin = trim( $metin );
$metin2 = "";
$metin = str_replace("-"," ",$metin);
$kelime = explode( " ",$metin );
foreach( $kelime as $i => $deger ){
if( $deger != "" ){
$metin2 .= $deger." ";
}
}
$metin = $metin2;
$metin = trim( $metin );
$metin = str_replace(" ","-",$metin);
$metin = trim( $metin );
return $metin;
}

Bu fonksiyonu da deneyebilirsin. Ben kullanıyorum, çok da memnunum. Fonksiyon adını değiştirmeyi unutma.