Php
 
Üye Girişi
E-mail:

Şifre:



 
Blog Arama Motoru
 
Email Aboneliği
Yeni yazılar yazıldığında email adresinize bildirim gelmesini isterseniz aşağıdaki formu doldurabilirsiniz.
(Hizmet FeedBurner tarafından sağlanmaktadır.)

Email:

 
 
Türkçe Sözcük Heceleme
   Ç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
Yorumları html kodu veya özel karakter kullanmadan, yazım kurallarına
dikkat ederek ve düzgün bir Türkçe kullanarak yazalım...
 
Atasoy Blog v3.0 © 2009-2012 Hüseyin Atasoy | Tema Tasarımı: Hüseyin Atasoy