PHP tutorial Chinese capital numbers into digital code
echo "<pre>";
echo Test (' 1,200,710,051 ');
/*
Create by Piaofen
Date:2011-03-31
Function: Chinese capital numerals
*/
function Chtonum ($str = ')
{
$unit = Array (' Billion ' =>100000000, ' million ' =>10000, ' thousand ' =>1000, ' thousand ' =>1000, ' hundred ' =>100, ' ten ' =>10);
$num = Array (' One ' =>1, ' two ' =>2, ' three ' =>3, ' four ' =>4, ' five ' =>5, ' Six ' =>6, ' seven ' =>7, ' eight ' =>8, ' nine ' =>9);
$str = Str_replace (Array_keys ($num), $num, $STR);
$result = Array ();
$number = ';
Preg_match_all ('/[0-9] thousand [0-9] hundred [0-9] ten [0-9]|[ 0-9] hundred [0-9] ten [0-9]| [0-9] Ten [0-9]| [0-9]/ism ', $str, $pnum);
foreach ($pnum [0] as $val) {
$tmp = ';
for ($i =0; $i <mb_strlen ($val, ' utf-8 '); $i + +) {
$s = Mb_substr ($val, $i, 1, ' utf-8 ');
if (!is_numeric ($s)) {
$k = $unit [$s];
if (strlen ($tmp) >=strlen ($k)) {
Preg_match ('/[0-9]* ') ([0-9]{]. ( Strlen ($k)-1). '} ([0-9])/ism ', $tmp, $n);
$tmp = ($n [1]+ $n [3]). $n [2];
}else{
$tmp = $tmp * $K;
}
}else if ($i = = (Mb_strlen ($val, ' Utf-8 ')-1)) {
$tmp + + $s;
}else{
$tmp. = $s;
}
}
$nnum [] = $tmp;
}
$result = Str_replace (Array_keys ($unit), '; ', Str_replace ($pnum [0], $nnum, $str));
foreach (Explode ('; ', $result) as $val) {
$number. = sprintf ('%04d ', $val);
}
return sprintf ('%2u ', $number);
}