top

カテゴリーを好きな順番で並べる(5) regex_replace編

激しくいまさらですが…。

カテゴリを好きな順番で並べるにはいろいろな方法がありますが、私は基本的に半角スペース法を使ってます。が、この方法には<MTEntries category="カテゴリ1 OR カテゴリ2">で複数のカテゴリを使えないという泣きどころがありました。そのため、categoryモディファイアで複数カテゴリを使う場合はデコード&タグ編を使ってきました。

が、4.25にアップしたらMTEntriesのcategoryモディファイアで半角の「&」がエラーするようになったもよう。なのでこの機会に&lt;001&gt;はやめて、素直に数字をふってregex_replaceで数字を除去する方法に変更。
regex_replaceはMT4から追加されたグローバル変数で、正規表現が使えます。例えば、「001カテゴリ名」の001を除去するには以下のようにします。

<$MTCategoryLabel regex_replace="/^\d{3}/",""$>

これで冒頭から3文字目までの数字が消えます。「0001カテゴリ名」のように数字を4つ使っている場合は{3}を{4}にすれば4文字目まで消せます。正規表現の書き方は検索するといっぱい出てくるので、自分の使いやすいルールを決めてそれに合わせた書き方にするといいと思います。

これもプラグインを使わずに出来る方法なのでダイナミックにもOK。MT4ならこちらの方がデコード&タグ編より素直に使えていいかもですね。