Şöyle basit bir kod yazdım 10 dakikada. Az da olsa işini görür. son iki harfine göre uydurmaya çalıştım. Eğer kelimenin son iki harfi de ünsüz harf ise (örneğin ingilizceden dilimize geçen kelimeler vs.) ne sonuç olur denemedim pek. Bütün kelimelerde deneme yapıp (ya da Türkçe'nin tüm kurallarını bilip) ona göre fonksiyona ekleme yapmak lazım.

örnek kullanım:
$kelime = 'Lüleburgaz';
echo teta($kelime)

Çıktı: Lüleburgaz'da


function teta($kelime){
$harfler = substr($kelime, -2);
$harf1 = substr($harfler, 0, 1);
$harf2 = substr($harfler, 1, 2);

if(($harf1 == "a" || $harf1 == "ı" || $harf1 == "o" || $harf1 == "u") && $harf2 == "p" || $harf2 == "ç" || $harf2 == "t" || $harf2 == "k"){

echo $kelime."'ta";

}else if(($harf1 == "e" || $harf1 == "i" || $harf1 == "ö" || $harf1 == "ü") && ($harf2 == "p" || $harf2 == "ç" || $harf2 == "t" || $harf2 == "k")){

echo $kelime."'te";

}else if(($harf1 == "e" || $harf1 == "i" || $harf1 == "ö" || $harf1 == "ü") && ($harf2 != "p" || $harf2 != "ç" || $harf2 != "t" || $harf2 != "k")){

echo $kelime."'de";

}else{

if($harf2 == "a" || $harf2 == "ı" || $harf2 == "o" || $harf2 == "u"){
echo $kelime."'da";
}else{
echo $kelime."'de";
}
}
}
?>