$kat_adi="Esenler";
    
    $olan=substr ($kat_adi,-2); // son iki harfi bir değişkene atıyoruz
    $sonolan=substr ($kat_adi,-1); // son harfi bir değişkene atıyoruz
    $ek=0;		// bu değişken son hece "a,ı,o,u" harflerinden biriyle biterse '1' değerini alır. "e,i,ü,ö" harflerinde ise '0' değeri alır.   
    $sonharfseslimi=0;  // Son harfe bakılacak, eğer sesliyse bu değiken '1' değerini alacak, son harf sessizse değişken '0' değerini alacak.
	
	$varmi=strstr ($olan, a); if ($varmi!="") {$ek=1; $sonvarmi=strstr ($sonolan, a); $sonek="ı";if ($sonvarmi!=""){$sonharfseslimi=1;}}
	$varmi=strstr ($olan, o); if ($varmi!="") {$ek=1; $sonvarmi=strstr ($sonolan, o); $sonek="u";if ($sonvarmi!=""){$sonharfseslimi=1;}}
	$varmi=strstr ($olan, u); if ($varmi!="") {$ek=1; $sonvarmi=strstr ($sonolan, u); $sonek="u";if ($sonvarmi!=""){$sonharfseslimi=1;}}
	$varmi=strstr ($olan, ı); if ($varmi!="") {$ek=1; $sonvarmi=strstr ($sonolan, ı); $sonek="ı";if ($sonvarmi!=""){$sonharfseslimi=1;}}
	$varmi=strstr ($olan, e); if ($varmi!="") {$ek=0; $sonvarmi=strstr ($sonolan, e); $sonek="i";if ($sonvarmi!=""){$sonharfseslimi=1;}}
	$varmi=strstr ($olan, ö); if ($varmi!="") {$ek=0; $sonvarmi=strstr ($sonolan, ö); $sonek="ü";if ($sonvarmi!=""){$sonharfseslimi=1;}}
	$varmi=strstr ($olan, ü); if ($varmi!="") {$ek=0; $sonvarmi=strstr ($sonolan, ü); $sonek="ü";if ($sonvarmi!=""){$sonharfseslimi=1;}}
	$varmi=strstr ($olan, i); if ($varmi!="") {$ek=0; $sonvarmi=strstr ($sonolan, i); $sonek="i";if ($sonvarmi!=""){$sonharfseslimi=1;}}
	
	$kelimeler2=array(' kafeler ',' cafeler'); // Bu kelimeleri başlık için kullanacağım
	$kelimeler4=array(' nargile kafeler'); // Üsttekiyle aynı işlev ama bunu anahtar kelimelerde kullanacağım.
	$kelimeler1=array(' kafeleri',' cafeleri'); // Örnekle analatayım 'Bakırköy(ün) kafeleri' ya da 'Eminönü(nün) kafeleri' veya 'Moda(nın) cafeleri'
	$kelimeler3=array(' canlı müzik',' cafe',' fast-food'); // Bu değişkende anahtar kelimeler için kullanılacak..
		 
		 	
	// $sonek değişkeni son hece'ye göre değer alacak, bu değişken Türkçe kurallarına göre 'ı,u,i,ü' harflerinden biri olacak.
        if ($ek==0) $sonheceharfi="e"; else $sonheceharfi="a";
		if($sonharfseslimi==1) $sonek="n".$sonek;
		 
	$say=0;
	foreach( $kelimeler2 as $i){$baslik=$baslik.$virgul.$kat_adi."d".$sonheceharfi."ki".$i; $basust=$baslik;$virgul=", ";}
	foreach( $kelimeler1 as $i){$baslik=$baslik.", ".$kat_adi.$sonek."n".$i;}
	foreach( $kelimeler3 as $i){$baslik=$baslik.", ".$kat_adi."d".$sonheceharfi.$i;}
	foreach( $kelimeler4 as $i){$baslik=$baslik.", ".$kat_adi."d".$sonheceharfi."ki".$i;}

echo $baslik;
Belki işine yarayan olabilir. Ben bunu herhangi bir kategoriye girildiğinde o kategorinin sonuna göre ek ve kelime ekleyen script şeklinde düşünmüştüm ancak ;

$varmi=strstr ($olan, a); if ($varmi!="") {$ek=1; $sonvarmi=strstr ($sonolan, a); $sonek="ı";if ($sonvarmi!=""){$sonharfseslimi=1;}}
	$varmi=strstr ($olan, o); if ($varmi!="") {$ek=1; $sonvarmi=strstr ($sonolan, o); $sonek="u";if ($sonvarmi!=""){$sonharfseslimi=1;}}
	$varmi=strstr ($olan, u); if ($varmi!="") {$ek=1; $sonvarmi=strstr ($sonolan, u); $sonek="u";if ($sonvarmi!=""){$sonharfseslimi=1;}}
	$varmi=strstr ($olan, ı); if ($varmi!="") {$ek=1; $sonvarmi=strstr ($sonolan, ı); $sonek="ı";if ($sonvarmi!=""){$sonharfseslimi=1;}}
	$varmi=strstr ($olan, e); if ($varmi!="") {$ek=0; $sonvarmi=strstr ($sonolan, e); $sonek="i";if ($sonvarmi!=""){$sonharfseslimi=1;}}
	$varmi=strstr ($olan, ö); if ($varmi!="") {$ek=0; $sonvarmi=strstr ($sonolan, ö); $sonek="ü";if ($sonvarmi!=""){$sonharfseslimi=1;}}
	$varmi=strstr ($olan, ü); if ($varmi!="") {$ek=0; $sonvarmi=strstr ($sonolan, ü); $sonek="ü";if ($sonvarmi!=""){$sonharfseslimi=1;}}
	$varmi=strstr ($olan, i); if ($varmi!="") {$ek=0; $sonvarmi=strstr ($sonolan, i); $sonek="i";if ($sonvarmi!=""){$sonharfseslimi=1;}}
yukarıdaki kontrolleri yaptırdıktan sonra elde edeceğimiz bilgiler kelime değiştirilirken veya yanına başka kelimeler eklenirken bize doğru kelimeyi ya da eki seçmemizi sağlayacaktır. Geliştirilebilir bi script, bana eş anlamlılarının bulunduğu bir türkçe sözlük ya da veritabanı gibi bişey bulursanız böyle bir script yazabilirim.

Hatta işi dahada abartmak gerekirse bir oyun scriptti yazılabilir oyunun amacı karşına gelen kelimeye en yakın anlamada 3 kelime girmek, size o kelimeyi gösterirken aynı kelimeyi o an oyunda bulunan başka birine de göstericek o da sizin gibi 3 kelime girecek ve tutturduğunuz kelime başına ikiniz de puan alacaksınız. Bu mantıkta (tabii oyun oynanılabilir olabilmesi için biraz geliştirilebilir) yapılan bir oyunda eşleşen kelimeleri veritabanına kaydettirirsiniz ve asıl yazmak istediğiniz scriptte kaynak olarak kullanırsınız.

Scriptti yazarken kelime değişeceği zaman o kelimenin eş anlamlısına veritabanından bakılır ve o kelimenin kullanım sıklığına göre o kelime değiştirilir.

Yani "araba" kelimesinin eş anlamlısı olarak girilen kelimelerde liste şöyle olsun: Otomobil(80), Araç(40), Taksi(4)

scripttimiz her 124 kelimenin 60 tanesini otomobil, 30 tanesini araç ve 3 tanesini taksi yapacak 31 tanesini hiç değiştirmeden araba olarak bırakacak. Hatta değiştirme oranını da her seferinde rando olarak seçebilir yani benim verdiğim örnekte Yüzde 75 oranında değiştirme yapıldı. Biz scriptte her kelime için yüzde 30 ile 50 arasında değiştirme yap deriz böylece her kelimenin değiştirilme oranı da farklılaşmış olur. Üzerinde düşünüldüğünde ortaya çok sağlam bir script çıkabilir bunun için Türkçe dil bilgisi iyi olan biride gerekli malum Türkçe her ne kadar kurallı bir dilde olsa istisnaları da çok bunlarda göz önünde bulundurulmalı, o zaman Yüzde 80-90 oranında çeviride başarı sağlayan bir script ortaya çıkarılabilir diye düşünüyorum. Fikir ve eleştirilerinizle katkıda bulunursanız sevinirim.