PHP ile SEF (Arama Motoru Dostu) URL Fonksiyonu

Daha önceden jQuery ile SEF Bağlantı Yapımı başlıklı bir yazı paylaşmıştım. Şimdi aynı ihtiyaç PHP ile doğdu. Search Engine Friendly URL yani Arama Motoru Dostu URL’ye aslında birçok internet sitesine girdiğimizde adres çubuğunda rastlıyoruz. Şöyle ki: orneksite.com/arama-motoru-dostu-baglanti şeklinde görünüyor. Fonksiyona aşağıdan ulaşabilirsiniz.

function SefBaglanti ($gelen) 
{
	$bul = array('Ç', 'Ş', 'Ğ', 'Ü', 'İ', 'Ö', 'ç', 'ş', 'ğ', 'ü', 'ö', 'ı');
	$degistir = array('c', 's', 'g', 'u', 'i', 'o', 'c', 's', 'g', 'u', 'o', 'i');
	$giden = strtolower(str_replace($bul, $degistir, $gelen));
	$giden = preg_replace("@[^A-Za-z0-9\-_\.\+]@i", ' ', $giden);
	$giden = trim(preg_replace('/\s+/', ' ', $giden));
	$giden = str_replace(' ', '-', $giden);
	return $giden;
}

Gelen veri ve giden veri diye isimlendirdim. Bul değişkenindeki verileri Değiştir değişkenindeki verilerle değiştirmesi için str_replace fonksiyonunu kullanıyoruz. Regex ile süzüyoruz, yandaki boşlukları varsa siliyoruz ve boşluğı tireye çevirip fonksiyonun veriyi döndürmesini sağlıyoruz. Kullanımını ise şu şekilde yapabiliriz:

echo SefBaglanti("Bu Bir Gönderi Başlığıdır");
// Çıktısı: bu-bir-gonderi-basligidir

Kolay gelsin.