PHPテンプレートエンジンの「Smarty」で質問です。

現在、201109で年月を保持しているのですが
これを出力時に、2011年9月に変換するには
どうすればよいでしょうか?
ハイフンが入っていれば|date_formatが使えるのですが。。。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2011/09/13 22:28:10
  • 終了:2011/09/20 22:30:14

回答(2件)

id:Jupiter2100 No.1

じゅぴたー回答回数444ベストアンサー獲得回数742011/09/13 23:30:36

ポイント50pt

変数 $yyyymm に格納されているとしたら、正規表現を使って次のように記述します。

{$yyyymm|regex_replace:"/^(....)(..)/":"\\1年\\2月"}
id:windofjuly No.2

うぃんど回答回数2625ベストアンサー獲得回数11492011/09/14 19:15:42

ポイント50pt

じゅぴたー(id:Jupiter2100)さんのでおおむねOKなんですけど、「次のように記述します」と言い切るには考慮不足の感がありますし、記述方法が古い時代のもののようにも見受けられます

 

問題点

1.ドットをいくつも並べるのはコーディングミスを引き起こしやすい

2.ドットでは数字以外も受け入れてしまう

3.終端記号が無いので桁数溢れが無視される

{$yyyymm|regex_replace:'/^(\d{4})(\d{2})$/':'$1年$2月'}

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません