Bir Bilgisayar Mühendisi İçin Programlama Dili, Öğrendiklerini Sınadığı, Deneyler Yaptığı Bir Laboratuardır. Ve Mühendisler Deneylerini, Kestiremedikleri Sonuçları Gözlemlemek İçin Değil, Öngördükleri Sonuçları Doğrulamak İçin Yaparlar...
Programlama Günlüğü > Php Dili > Türkçe Sözcük Heceleme
Türkçe Sözcük Heceleme
   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
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-2010 Hüseyin Atasoy | Tema Tasarımı: Hüseyin Atasoy
AtasoyWeb Firefox'u Önerir :) | Yukarı Çık