-
Ü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.
-
Ü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
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
-
Ü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
-
Ü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
-
Ü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)
-
Ü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";
}
}
}
?>