Aslında çok aramıştım böyle bir kodu ama bulamamıştım, en iyisi kendim yazıyım dedim. Eğer arayan olursa belki işine yarar :D Gerekli açıklamalar ve yöntem, kodun içinde...
<?php
/*
***************************************************************
///////////////////////////////////////////////////////////////
Türkçe'de bir sözcüğün son hecesindeki harfler genelde iki şekilde bulunabilir:
(Daha çok ihtimal de var ama şimdilik bunlar yeterli)
1. sessiz+sesli+sessiz
2. sessiz+sesli
Program; harfleri sondan başlayarak inceler. Harfler ardarda eklenirken
oluşan harf grubunun yukarıdaki mantığa göre hece oluşturup oluşturmadığı
kontrol edilir. Eğer hece oluşmuşsa yeniden oluşturulmaya başlanan sözcüğe
- işareti eklenir ve $hece değişkeni sıfırlanarak, sözcükteki bir diğer
hecenin bulunması için program çalışmaya devam eder. Taa ki kelimenin
başındaki harfe gelene kadar. ( Hani tersten gidiyoruz ya )...
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
***************************************************************
*/
function hece_oldu_mu($hece_adayi) {
if (eregi("[bcçdfgğhjklmnprsştvyz][aeıioöuü][bcçdfgğhjklmnprsştvyz]", $hece_adayi)) {return true;}
if (eregi("[aeıioöuü][bcçdfgğhjklmnprsştvyz]", $hece_adayi)) {return true;}
}
function hecele($kelime) {
$hece="";
$hecelenmis="";
$kelime=strrev($kelime);
$uzunluk=strlen($kelime);
for($nereden=0; $nereden<strlen($kelime); $nereden++)
{
$harf = substr($kelime,$nereden,1);
$hece = $hece.$harf;
if (hece_oldu_mu($hece) or $nereden==strlen($kelime)-1) {
// eğer hece oluşmuşsa veya bu harf zaten son heceyi tamamlıyorsa
if ($nereden!=strlen($kelime)-1) {$hece = $hece."-";}
$hecelenmis=$hecelenmis.$hece;
$hece="";
}
}
$hecelenmis=strrev($hecelenmis);
return $hecelenmis;
}
?>
//Kullanımı normal bir fonksiyon gibi :
echo hecele("kelime"); Okunma Sayısı: 642
Yayınlanma Tarihi: Blogun eski sürümü ile yazılmış, tarih kaydı bulunmuyor...
Anahtar Kelimeler: heceleme, fonksiyonu, php, kodu, türkçe, harfler
Onaylı yorum bulunmuyor.
Yorum/Görüş Bildir