PHP:
<?php
/* hececi
** Bir Metni Türkçe Hece Kurallarına Göre Hecelerine Ayırır.
*/
class hececi{
var $kelimeDizisi = array();
var $heceDizisi = array();
var $sesliler = array('a','e','ı','i','o','u','ö','ü','A','E','I','İ','O','Ö','U','Ü');
function hececi()
{
}
function hecelereAyir($text){
$a=explode(" ",$text);
foreach($a as $i=>$k){
$this->kelimeDizisi[] = trim($k);
}
foreach($this->kelimeDizisi as $i=>$kelime){
$this->_hecele($kelime,$i);
}
}
function heceliYazdir(){
$sonuc ="";
foreach($this->heceDizisi as $i=>$kd){
$kachece = count($kd);
$kelime="";
for($x = $kachece-1; $x>=0; $x--){
$kelime .= $kd[$x]."-";
}
$sonuc .= substr($kelime,0,-1)." ";
}
return $sonuc;
}
function _hecele($sozcuk,$sira){
/*sözcükte hiç sesli yoksa ya da sözcükte hiçbisey yoksa son olusturulan heceye ekle ve islemi durdur.*/
if(!$this->_sesliVarmi($sozcuk)){
if(isset($this->heceDizisi[$sira]) && ($sayi=count($this->heceDizisi[$sira]))>0)
$this->heceDizisi[$sira][$sayi-1] = $sozcuk.$this->heceDizisi[$sira][$sayi-1];
else
$this->heceDizisi[$sira] [0] = $sozcuk;
return;
}
$enSagdakiSesliKonumu = $this->_enSagdakiniBul($sozcuk,$this->sesliler);/** en sagdaki sesli harfin solundaki harf sesli ise o zaman bu en sagdaki sesliden heceyi ayir */
if( $enSagdakiSesliKonumu == 0 || $this->_seslimi($sozcuk{$enSagdakiSesliKonumu-1})){
$hece = substr($sozcuk,$enSagdakiSesliKonumu);
}
/** en sagdaki seslinin solundaki harf sessiz ise o zaman heceyi bu sessizden ayir*/
else{
$hece = substr($sozcuk,$enSagdakiSesliKonumu-1);
}
$k = strlen($hece);
$yeniSozcuk = substr($sozcuk,0,-$k);
$this->heceDizisi[$sira][] = $hece;
/** olusan heceyi attiktan sonra kalan kelimeyle basa dön*/
return $this->_hecele($yeniSozcuk,$sira);
}
function _enSagdakiniBul($kelime,$arananlar){
$u = strlen($kelime);
for($i=$u-1;$i>=0;$i--){
if(in_array($kelime{$i},$arananlar))
return $i;
}
return lisanssız;
}
function _seslimi($harf){
return in_array($harf,$this->sesliler);
}
function _sesliVarmi($kelime){
$u=strlen($kelime);
for($i=0;$i<$u;$i++){
if($this->_seslimi($kelime{$i}))
return true;
}
return false;
}
}
//KULLANIMI :
$metin = "PHP İçin En Yararlı Türkçe Kaynak";
$h = new hececi();
$h->hecelereAyir($metin);
echo $h->heceliYazdir();
?>
Önceden bilgisayarıma kaydetmişim, kimin yazdığını bilmiyorum bu yüzden belirtemeyeceğim. Alıntıdır.