毎朝お世話になっているハッシュタグ。毎朝ハッシュタグを考えている人はどれだけいるでしょう?少々複雑なのでプログラムで生成しているかもしれません。
というわけで、ハッシュタグを生成するプログラムを作ってみました。
他の言語では作ったことがあるのですが、PHPでは初めてです。
ハッシュタグの生成関数を作りました
以下が関数です。
// $flg "":all "1":文字列 "2":絵文字
function makeOhasenTag($chkDate, $flg){
// 日付形式のパターン(YYYY-M-DまたはYYYY/M/D)
$pattern1 = preg_match("/^[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}$/", $chkDate);
$pattern2 = preg_match("#^[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}$#", $chkDate);
// 年月日を配列にする
if($pattern1){
$dateAry = explode("-", $chkDate);
}
if($pattern2){
$dateAry = explode("/", $chkDate);
}
if($pattern1 || $pattern2){
try{
// 日付生成
$dtObj = new DateTime($chkDate);
}catch(Exception $e){
return "";
}
}
// 日付が生成されていない
if(!isset($dtObj)){
return "";
}
$month = array("j","f","m","a","m","j","j","a","s","o","n","d");
$week = array("n","g","k","s","m","k","d");
$emoji = array("🍨","🌙","🔥","🌊","🌴","🍺","🍩");
// 曜日の番号を取得
$w = (int)$dtObj->format("w");
// おは戦用変数
$oha_rei = $dtObj->format("Y") - 2018; // 令和年
$oha_tuki = $dtObj->format("m"); // 月
$oha_niti = $dtObj->format("d"); // 日
$oha_month = $month[(int)$oha_tuki-1]; // 月(英語)
$oha_week = $week[$w]; // 週(英語)
$oha_emoji = $emoji[$w]; // 絵文字
if($flg=="1"){
return "おは戦".
$oha_rei .
$oha_tuki .
$oha_niti .
$oha_month .
$oha_week;
}
if($flg=="2"){
return $oha_emoji;
}
return "おは戦".
$oha_rei .
$oha_tuki .
$oha_niti .
$oha_month .
$oha_week .
$oha_emoji;
}
こちらでいろいろ確認できます。
よろしければ、ご利用ください。