Bir bilgisayar mühendisi için programlama dili, öğrendiklerini sınadığı, deneyler yaptığı bir laboratuardır ve mühendisler deneylerini, kestiremedikleri sonuçları gözlemlemek için değil, öngördükleri sonuçları doğrulamak için yaparlar...
Çok aradım böyle bir kodu ama bulamadığım için kendim yazdım. Eğer arayan olursa belki işine yarar. Gerekli açıklamalar ve yöntem, kodun içinde...
<?php
/*
***************************************************************
///////////////////////////////////////////////////////////////
Türkçe'de bir hecede 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. ( Tersten gittiğimiz için )...
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
***************************************************************
*/
function heceOlduMu($heceAdayi)
{
if (eregi("[bcçdfgğhjklmnprsştvyz][aeıioöuü][bcçdfgğhjklmnprsştvyz]", $heceAdayi)) return true;
if (eregi("[aeıioöuü][bcçdfgğhjklmnprsştvyz]", $heceAdayi)) 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 (heceOlduMu($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;
}
?>
//Örnek:
echo hecele("kelime");
Yayınlanma Tarihi: Blogun eski sürümü ile yazılmış, tarih kaydı bulunmuyor...
Anahtar Kelimeler: heceleme, fonksiyonu, php, kodu, türkçe, harfler
Yorumlar ( 2 )
ayça #1
19/03/2011, 15:03
saat kelimesi kaç hecedir
Hüseyin Atasoy#2
19/03/2011, 17:50
Kelime 2 heceli ama başlığa dikkat; 'Türkçe Sözcük Heceleme'. Türkçe'de iki ünlü yan yana gelmez.
'saat' gibi kelimeleri heceletmek isterseniz heceOlduMu fonksiyonuna ekleme yapabilirsiniz. (sa-at: ünsüz+ünlü, ünlü+ünsüz) Yukarıda yazdığım kod işin mantığına basit bir örnekti sadece.
Yorum/Görüş Bildir