<< javascript から SESSION を設定 | main | フォームのチェックボックスを目立たせるjavascript >>

PHPで漢数字を算用(アラビア)数字に変換

漢数字を算用数字に変えちゃいますよ!
文字コードはUTF-8でね!

<?
$str = "一億三百万二千十五";

print_r(kan2num($str));

function kan2num($kan){

   $dig = array(0=>'$','十','百','千');
   $dig2 = array(0=>'$', 4=>'万',8=>'億',12=>'兆',16=>'京');
   $dec = array(1=>'一','二','三','四','五','六','七','八','九');
   krsort($dig);
   krsort($dig2);

   foreach($dig2 as $kk=>$vv){
   
      if($kan && preg_match("/([一二三四五六七八九十百千]+)({$vv})/u", $kan, $mc)){

         $vl = 0;
         $ss = $mc[1];
         $kan = preg_replace("/{$mc[0]}/u", '', $kan);

         foreach($dig as $k=>$v){
            if($ss && preg_match("/([一二三四五六七八九]{0,1})({$v})/u", $ss, $mc)){
               $nm = array_search($mc[1], $dec);
               $vl += (int)(($nm?$nm:1) * pow(10, $k));
               $ss = preg_replace("/{$mc[0]}/u", '', $ss);
            }
         }
         $num += $vl * pow(10, $kk);
      }
   }
   return $num;
}

?>

コメント
コメントする









この記事のトラックバックURL
トラックバック
calendar
    123
45678910
11121314151617
18192021222324
252627282930 
<< June 2017 >>
selected entries
categories
archives
recent comment
recommend
links
profile
search this site.
others
mobile
qrcode
powered
無料ブログ作成サービス JUGEM