Message: | Trying to access array offset on value of type null |
File: | /home/romarekl/public_html/sosyallift.com/ow_plugins/forum/controllers/topic.php |
Line: | 136 |
Türkçe isimlere uygun ekleri yazdırmak için bir isme gelen bütün hal/ işletim eklerini kapsayan fonksiyon bu. Bu kadar detaylı birşeyi kulanmak isteyen olabilir diye Türkçe İyelik Eki Ekleme Fonksiyonu'nun büyümüş hali kendisi.
xxx isimli üyedendemek yerine aşağıdaki gibi efendi cümleler kurar:
isimeki($isim, 'den')şeklinde kullanılır.
İkinci değişken için geçerli veriler:'de' 'den' 'e' 'i' 'in' 'ile'(yani ismin e hali , i hali vb)
PHP:
/* İsmin nikneymin sonuna gereken eki ekler
İkinci değişken için geçerli veriler: 'de' 'den' 'e' 'i' 'in' 'ile'
e hali , i hali vb)
*/
function isimeki($ad, $ektipi= "in")
{
header
'Content-type: text/html; charset=utf-8');
$sertsessizler = array("ç", "f", "h", "k", "p","s", "ş", "t");
/// türkçe sesli ve sert sessiz karakterler
$buyuk = array("A", "I", "E", "İ", "U","O", "Ü", "Ö", "Ç", "F", "H", "K", "P","S", "Ş", "T");
$kucuk = array("a", "ı", "e", "i", "u","o", "ü", "ö", "ç", "f", "h", "k", "p","s", "ş", "t");
$kucultulmus = str_replace($buyuk, $kucuk, $ad);
$isim=trim($kucultulmus);
/// aşağıdaki kısım regexp ile son sesli harfi buluyor.
/// bugcheck şeysi regexp özürlü turkce harfleri adam etmek için.
$bugcheckkaynak = array("ı", "ö", "ü");
$bugcheckhedef = array("a", "`", "`");
$bugfixed=str_replace($bugcheckkaynak, $bugcheckhedef, $isim);
preg_match_all('/[aeiou`]/', $bugfixed, $bulunanlar);
$sesliler=$bulunanlar[0];
$sonsesli=end($sesliler); //isimdeki son sesli harfi bulduk
$sonharf = substr($bugfixed, -1); // isimdeki son karakteri bulduk
switch $ektipi) {
case "in": //iyelik eki -> Ahmet'in
if
$sonharf=="a" or $sonharf=="ı") {$eki="'nın";}
elseif
$sonharf=="e" or $sonharf=="i") {$eki="'nin";}
elseif
$sonharf=="u" or $sonharf=="o") {$eki="'nun";}
elseif
$sonharf=="`") {$eki="'nün";}
elseif
$sonsesli=="a" or $sonsesli=="ı") {$eki="'ın";}
elseif
$sonsesli=="e" or $sonsesli=="i") {$eki="'in";}
elseif
$sonsesli=="u" or $sonsesli=="o") {$eki="'un";}
elseif
$sonsesli=="`" ) {$eki="'ün";}
else {$eki="'ın";}
break;
case "e": // ismin e hali -> Ahmet'e
if
$sonharf=="a" or $sonharf=="ı" or $sonharf=="u" or $sonharf=="o") {$eki="'ya";}
elseif
$sonharf=="e" or $sonharf=="i" or $sonharf=="`") {$eki="'ye";}
elseif
$sonsesli=="a" or $sonsesli=="ı" or $sonsesli=="u" or $sonsesli=="o") {$eki="'a";}
elseif
$sonsesli=="e" or $sonsesli=="i" or $sonsesli=="`") {$eki="'e";}
else {$eki="'a";}
break;
case "i": // ismin i hali -> Ahmet'i
if
$sonharf=="a" or $sonharf=="ı") {$eki="'yı";}
elseif
$sonharf=="e" or $sonharf=="i") {$eki="'yi";}
elseif
$sonharf=="u" or $sonharf=="o") {$eki="'yu";}
elseif
$sonharf=="`") {$eki="'yü";}
elseif
$sonsesli=="a" or $sonsesli=="ı") {$eki="'ı";}
elseif
$sonsesli=="e" or $sonsesli=="i") {$eki="'i";}
elseif
$sonsesli=="u" or $sonsesli=="o") {$eki="'u";}
elseif
$sonsesli=="`" ) {$eki="'ü";}
break;
case "de": // ismin de hali -> Ahmet'te / Ayşe'de
if
$sonharf=="a" or $sonharf=="ı" or $sonharf=="u" or $sonharf=="o") {$eki="'da";}
elseif
$sonharf=="e" or $sonharf=="i" or $sonharf=="`") {$eki="'de";}
elseif
in_array($sonharf, $sertsessizler) and
$sonsesli=="a" or $sonsesli=="ı" or $sonsesli=="u" or $sonsesli=="o") ) {$eki="'ta";}
elseif
in_array($sonharf, $sertsessizler) and
$sonsesli=="e" or $sonsesli=="i" or $sonsesli=="`") ) {$eki="'te";}
elseif
$sonsesli=="a" or $sonsesli=="ı" or $sonsesli=="u" or $sonsesli=="o") {$eki="'da";}
elseif
$sonsesli=="e" or $sonsesli=="i" or $sonsesli=="`") {$eki="'de";}
elseif
in_array($sonharf, $sertsessizler)) {$eki="'ta";}
else {$eki="'da";}
break;
case "den": // ismin de hali -> Ahmet'ten / Ayşe'den
if
$sonharf=="a" or $sonharf=="ı" or $sonharf=="u" or $sonharf=="o") {$eki="'dan";}
elseif
$sonharf=="e" or $sonharf=="i" or $sonharf=="`") {$eki="'den";}
elseif
in_array($sonharf, $sertsessizler) and
$sonsesli=="a" or $sonsesli=="ı" or $sonsesli=="u" or $sonsesli=="o") ) {$eki="'tan";}
elseif
in_array($sonharf, $sertsessizler) and
$sonsesli=="e" or $sonsesli=="i" or $sonsesli=="`") ) {$eki="'ten";}
elseif
$sonsesli=="a" or $sonsesli=="ı" or $sonsesli=="u" or $sonsesli=="o") {$eki="'dan";}
elseif
$sonsesli=="e" or $sonsesli=="i" or $sonsesli=="`") {$eki="'den";}
elseif
in_array($sonharf, $sertsessizler)) {$eki="'tan";}
else {$eki="'dan";}
break;
case "ile": // beraberlik hali -> Ayşeyle / Ahmetle
if
$sonharf=="a" or $sonharf=="ı" or $sonharf=="u" or $sonharf=="o") {$eki="yla";}
elseif
$sonharf=="e" or $sonharf=="i" or $sonharf=="`") {$eki="yle";}
elseif
$sonsesli=="a" or $sonsesli=="ı" or $sonsesli=="u" or $sonsesli=="o") {$eki="la";}
elseif
$sonsesli=="e" or $sonsesli=="i" or $sonsesli=="`") {$eki="le";}
else {$eki="'la";}
break;
}
$sonuc= $ad.$eki;
return $sonuc ;
}
Kaynak:http://forum.ceviz.net/t/butun-turkce-isim-ekleri-fonksiyonu.76372/