lostyazilim
tr.link

(P, Ç, T, K Kuralı)'nı nasıl uygulayabilirim?

8 Mesajlar 1.323 Okunma
lstbozum
tr.link

silenthilll silenthilll WM Aracı Kullanıcı
  • Üyelik 29.09.2011
  • Yaş/Cinsiyet 39 / E
  • Meslek öğrenci
  • Konum Manisa
  • Ad Soyad M** K**
  • Mesajlar 699
  • Beğeniler 61 / 126
  • Ticaret 1, (%100)
Ünsüz Yumuşaması (P, Ç, T, K Kuralı)'nı php ile nasıl uygulayabilirim.
Sadece de, da, te, ta, den, dan, ten, tan eki getireceğim.

Mesela veritabanında ;
1-Ağaç
2-Araba
adıyla kayıtlı iki nesne var.

'da ekleme yaptığımda $nesne ağaçsa Türkçe kurala göre yanlış.

'ta yapsam $nesne arabaysa Türkçe kurala göre hatalı.

Yani kısaca son harfe göre ek getirmek istiyorum.
 

 

wmaraci
reklam

ismail ismail WM Aracı Kullanıcı
  • Üyelik 08.09.2014
  • Yaş/Cinsiyet 24 / E
  • Meslek Yazılım Geliştiricisi
  • Konum Sakarya
  • Ad Soyad I** K**
  • Mesajlar 1176
  • Beğeniler 582 / 327
  • Ticaret 3, (%100)
Substr ile son harfi alıp, buna göre bir koşul oluşturabilirsiniz sanırım. Ama -den, -dan eklerine göre nasıl ayıracaksınız ki? Biraz zor durum.
 

 

TynSoft TynSoft Tyn Danışmanlık Banlı Kullanıcı
  • Üyelik 23.07.2019
  • Yaş/Cinsiyet 34 / E
  • Meslek Yazılımcı
  • Konum İzmir
  • Ad Soyad T** G**
  • Mesajlar 36
  • Beğeniler 1 / 5
  • Ticaret 0, (%0)
veritabanından if döngüsü ile yapabilirsin
if nesne 'da 'türkçe kurala göre doğru'
else yanlış gibi
 

 

silenthilll silenthilll WM Aracı Kullanıcı
  • Üyelik 29.09.2011
  • Yaş/Cinsiyet 39 / E
  • Meslek öğrenci
  • Konum Manisa
  • Ad Soyad M** K**
  • Mesajlar 699
  • Beğeniler 61 / 126
  • Ticaret 1, (%100)
ismail Substr aklıma o geldi fakat diyelim nesnenin son harfi ! ? . gibi semboller eklendiyse. Onu nasıl hallederiz.
 

 

wmaraci
wmaraci

zekaigulin zekaigulin WM Aracı Kullanıcı
  • Üyelik 21.02.2014
  • Yaş/Cinsiyet 31 / E
  • Meslek Bu yolun yolcusu
  • Konum Balıkesir
  • Ad Soyad Z** K**
  • Mesajlar 362
  • Beğeniler 63 / 65
  • Ticaret 0, (%0)
İlk önce ünlem vs işaretleri aratıp sildirin
 

 

msvasilis msvasilis WM Aracı Kullanıcı
  • Üyelik 26.02.2019
  • Yaş/Cinsiyet 32 / E
  • Meslek Backend Developer
  • Konum Aydın
  • Ad Soyad M** S**
  • Mesajlar 42
  • Beğeniler 11 / 8
  • Ticaret 0, (%0)
Merhaba hocam daha şöyle bir fonksiyon yazmıştım ben perma link yada seflink dedikleri yapı için bunu kullanmıştım ama sen bunu kendine göre uyarlayabilirsin
örnek fonksyion

function sef_link($string)
{
$cevir=array("ş", "Ş", "ı", "ü", "Ü", "ö", "Ö", "ç", "Ç", "ğ", "Ğ", "İ", ".", ":");
$deneme=array("s", "s", "i", "u", "u", "o", "o", "c", "c", "g", "g", "i", "-", "-");
$string = str_replace($cevir, $deneme, $string);
$string = trim($string);
$string = html_entity_decode($string);
$string = strip_tags($string);
$string = strtolower($string);
$string = preg_replace('~[^ a-z0-9_.]~', ' ', $string);
$string = preg_replace('~ ~', '-', $string);
$string = preg_replace('~-+~', '-', $string);

return $string;
}





kullanimi




echo sef_link('çççççşşşşşşşiiiiiii');


umarım işine yarar
 

 

OmerGunay OmerGunay https://omergunay.net Kullanıcı
  • Üyelik 15.05.2015
  • Yaş/Cinsiyet 33 / E
  • Meslek PHP Developer
  • Konum İstanbul Avrupa
  • Ad Soyad Ö** G**
  • Mesajlar 1207
  • Beğeniler 382 / 381
  • Ticaret 16, (%100)
msvasilis sen farklı bişey anlatmışsın. arkadaş ç yi c ye dönüştürmek istemiyor ki. Ç harfinden sonra dan eki gelirse tan olsun istiyor.

silenthilll bence son harfteki karakterleri temizledikten sonra son harflerin p,ç,t,k harfleri mi değil mi bunun kontrolü yapılır. Daha sonra gelen ekin ilk harfi alınır ve diğer kelimenin son harfine göre d ,t olarak değiştirilir. Bu mantık ile yapılabilir diye düşünüyorum.

Şimdi işteyim. Eve geçeyim denerim olursa tekrar yazarım.
 

 

Herkes yediğinden ikram eder..(Yavuz Sultan Selim)

mehmet01 mehmet01 WM Aracı Kullanıcı
  • Üyelik 12.03.2013
  • Yaş/Cinsiyet 32 / E
  • Meslek ...
  • Konum Adana
  • Ad Soyad M** Ç**
  • Mesajlar 665
  • Beğeniler 329 / 328
  • Ticaret 1, (%100)
Şö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";
}
}
}
?>
 

 

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al