[PHP-users 20807]Re: 西暦←→和暦 変換の方法について

PHPユーザー php_user_desu @ yahoo.co.jp
2004年 3月 15日 (月) 16:18:01 JST


こんにちわ。
> > 正規表現を使って入力データの妥当性をチェック。
> > 和暦入力の場合、西暦に変換。
> > checkdate()関数で日付の存在をチェック。
>> で、いきたいのですが、
> > 正規表現を使って入力データの妥当性をチェック。
> この部分、ど、どうやって・・・するのか
> ご指導いただけると助かります。

自分はperl言語からプログラムの世界に飛び込んだ人間なので、
preg_match()で書いてみます。思いつきで書いてみました。私のプログラ
ミングレベルはかなり低いので、そのつもりで読んで下さい。
function get_seireki($p_string) {
 if (preg_match('/^([HSTM])(\d{1,2})$/', $p_string, $match_ary)) { //和暦
 return change_into_seireki($match_ary[1], $match_ary[2]);
 } elseif (preg_match('/^\d{4}$/', $p_string)) { //西暦
 return $p_string;
 } else { //エラー
 return FALSE;
 }
}
function change_into_seireki($p_nengo, $p_year) {
 switch($p_nengo) { //和暦を西暦に変換する処理
 case 'H': //平成
 break;
 case 'S': //昭和
 break;
 case 'T': //大正
 break;
 case 'M': //明治
 break;
 }
}
西暦をチェックする処理は、もう少し丁寧に書いた方が良いかもしれませ
ん。和暦を西暦に変換する処理については、検索すれば幾らでも資料があ
る筈ですので割愛しました。
ここまで書いておいて何ですが、「S50」と入るか「1975」と入るのかが
予測できない様なインターフェース自体が、そもそもの間違いではないか
と個人的には思います。
プログラムを書く側ではなく、利用する側にとっても、それはあまり便利
と言えないような気がします。
-- 
php_user_desu @ yahoo.co.jp
__________________________________________________
Do You Yahoo!?
http://bb.yahoo.co.jp/


PHP-users メーリングリストの案内

AltStyle によって変換されたページ (->オリジナル) /