Türk Parasının Yazıyla Okunuş Sınıfı

PHP
59 lines
<?php
class paraOku{
public $bir = array("","bir","iki","üç","dört","beş","altı","yedi","sekiz","dokuz");
public $on = array("","on","yirmi","otuz","kırk","elli","atmış","yetmiş","seksen","doksan");
public $ek = array("","yüz","bin","milyon","milyar","trilyon","katrilyon","kentilyon","seksilyon","septilyon","oktilyon");
function cevir($para){
$ayir=explode(".",$para);
$lira=$this->okut($ayir[0])." Türk Lirası";
$kurus="";
if(count($ayir)==2){
$kurus=($ayir[1]!="")?",".$this->okut($ayir[1])." Kuruş":"";
}
return str_replace(" "," ",$lira.$kurus);
}
function uclu($rakam){
if(strlen($rakam)==1){ return $this->bir[substr($rakam,0,1)];}
if(strlen($rakam)==2){ return $this->on[substr($rakam,0,1)]."".$this->bir[substr($rakam,1,1)];}
if(strlen($rakam)==3){
if(substr($rakam,0,1) > 0){
if(substr($rakam,0,1) == 1){
$yuzler=$this->ek[1];
}else{
$yuzler=$this->bir[substr($rakam,0,1)].$this->ek[1];
}
}else{
$yuzler=$this->bir[substr($rakam,0,1)];
}
$m=$yuzler."".$this->on[substr($rakam,1,1)]."".$this->bir[substr($rakam,2,1)];
return $this->ilkharfbuyut($m);
}
}
function ilkharfbuyut($metin){
mb_internal_encoding('UTF-8');
return mb_strtoupper(mb_substr($metin,0,1)).mb_substr($metin,1,mb_strlen($metin)-1);
}
function okut($n){
$m=null;
$ns=explode(',',number_format($n));
for($i=0;$i<count($ns);$i++){
$j=(count($ns)-$i);
if($j > 1){
if($ns[$i] == 1 and $this->ek[$j] =="bin"){
$m.=$this->ek[$j]." ";
}else{
if($ns[$i] !="000"){
$m.=$this->uclu($ns[$i])."".$this->ek[$j]." ";
}
}
}else{
$m.=$this->uclu($ns[$i])."";
}
}
return str_replace(" "," ",$this->ilkharfbuyut($m));
}
}
$po=new paraOku();
echo $po->cevir(3432);
echo "<br>";
echo $po->cevir(140200.99);
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
2 lines
Üçbin Dörtyüzotuziki Türk Lirası
Yüzkırkbin Ikiyüz Türk Lirası,Oniki Kuruş
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

Arapça Türkçe Harflerin ve Kelimelerin Okunuşu

Not: Okunuş tüm sesli harfleri içermez. Bu yüzden gerçek değil, programsal okunuşu oluşturur.

PHP
30 lines
<?php
header('Content-Type: text/html; charset=utf-8');
class Oku{
var $turkce=['b','z','t','m','t','r','z','n','s','z','a','h','c','s','ğ','h','g','f','h','s','ş',
'd','d','k','e','e','i','ü','i','e','e','y','t','y','l','v','en','ün','in','e','ü','i','~','o'];
var $arapca=['\u0628','\u0630','\u0637','\u0645','\u062a','\u0631','\u0638','\u0646',
'\u062b','\u0632','\u0639','\u0647','\u062c','\u0633','\u063a','\u062d','\u0642','\u0641','\u062e','\u0635',
'\u0634','\u062f','\u0636','\u0643','\u0623','\u0621','\u0626','\u0624','\u0625','\u0622','\u0627','\u0649',
'\u0629','\u064a','\u0644','\u0648','\u064b','\u064c','\u064d','\u064e','\u064f','\u0650','\u0651','\u0652'];
var $onceki=["lr","nb","nl","nr","nm","ny","ns","nt","nd","nc","nz","nş","nk","ng","nf","bm","gk"];
var $sonraki=["rr","mb","ll","rr","mm","yy","s","t","d","c","z","ş","k","g","f","mm","kk"];
function arapcaTurkce($metin){
$unicode=str_replace('"',"",json_encode($metin));
$turkce=str_replace($this->arapca,$this->turkce,$unicode);
return str_replace($this->onceki,$this->sonraki,$turkce);
}
function turkceArapca($metin){
mb_internal_encoding('UTF-8');
$metin=mb_strtolower($metin);
$metin=str_replace(["u","o","ö","ı",],["ü","ü","ü","i"],$metin);
$metin=str_replace($this->sonraki,$this->onceki,$metin);
$metin=str_replace($this->turkce,$this->arapca,$metin);
return json_decode('"'.$metin.'"');
}
}
$cevir=new Oku;
echo $cevir->arapcaTurkce("ؤلؤنثعن ىعنذئلئم");
echo "<br>";
echo $cevir->turkceArapca("Ulusan Yazılım");
echo "<br>";
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
2 lines
ؤلؤنثعن ىعنذئلئم
ülüsan yazilim
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX