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で元号と年を分割する訳ね。なるほど、ロジックはわかった。