[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 メーリングリストの案内