アーカイブタイトルの表記を変える
2008年11月12日 20:49
年別・月別・日別アーカイブの表記を変更する方法を紹介します。
アーカイブのタイトル表記は『YYYY年MM月DD日』のように年月日が必ず入った表記になっています。
ページデザインの都合上、『YYYY/MM/DD』の形にしたいとき非常に困る仕様です。
<$MTArchiveTitle$>に前回紹介した「regex_replaceモディファイア」を追加することでこれを実現することができるようになります。
例)2008年12月 → 2008/12
<$MTArchiveTitle regex_replace="/(\d+)年(\d+)月/","$1/$2"$>
『\d』は何でもいい数字を表わす正規表現です。
『+』は1文字以上の繰り返しを表わす正規表現です。
『()』で括ることでマッチした文字列を$1で参照することができます。
『年』はエンコードされている「月」です。
これで「月」がの文字が出現するまで数列を取得することになるので「2008」を$1で参照することができます。
同様に日付の部分も$2で参照しています。
『/』の部分を変更することで『2008.12』のような表記も可能になります。
注意点としては、『月』等の文字がエンコードされているのでエンコードされている文字を使用しなければマッチしないという点です。(自分もひっかかりました。。。)
正規表現に慣れていないとちょっと難しいかもしれませんね。










