本程序将中文日期输出为2001-12-23,并很好解决了“十”的问题,如“十一”和“二十一”中“十”的处理!稍加修改可改为函数。 <? $str="二零○一年十二月二十三日"; echo $str."<p>"; $flag=0; $cn=array("一","二","三","四","五","六","七","八","九","十","零","○"); $num=array("1","2","3","4","5","6","7","8","9","","0","0"); $len=strlen($str); for ($i=0;$i<$len;$i+=2) { $array_str[$i]=substr($str,$i,2); $cout=0; while($cout<count($cn)) { if ($array_str[$i]==$cn[$cout]) { if ($flag==1) echo "-"; if (($array_str[$i]=="十") and ($flag==1)) { $temp[$cout]="1"; echo $temp[$cout]; $flag=2;break; } $temp[$cout]=$num[$cout]; echo $temp[$cout]; $flag=2; break; } else { if (count($cn)==$cout+1) $flag=1; } $cout++; } } ?> |