ini_set('display_errors', "On"); function seireki($wareki_year){ $wareki_year = str_replace("元年", "1年", mb_convert_kana($wareki_year, "n")); if(preg_match('!^(明治|大正|昭和|平成|令和)([0-9]+)年$!', $wareki_year, $matches)){ $era_name = $matches[1]; $year = intval($matches[2]); if($era_name === "明治"){ $year += 1867; } else if($era_name === "大正"){ $year += 1911; } else if($era_name === "昭和"){ $year += 1925; } else if($era_name === "平成"){ $year += 1988; } else if($era_name === "令和"){ $year += 2018; } return $year . "年"; } return null; } echo seireki("平成元年");
$ php index.php
1989年
preg_matchで元号と年を分割する訳ね。なるほど、ロジックはわかった。