matsui

【Movable Type】リンクパス記述を書き換えて出力する方法

MTタグで出力されるソース内のリンクパスを書き換える方法をご紹介します。

■こんなときに役立ちます。
  • http://~で出力されるソースのパスを、「/」始まりに書き換えて別ドメインでも使いたい
  • リンクの最後に「/index.html」 と付けたくない、「/」で止めたい
  • PC携帯共用ブログで、携帯ページ内のパスは/mobile/を入れて出力したい

■方法はわりと簡単です。「regex_replace」を使います。 「regex_replace」は正規表現を使ってMTタグの値を変換するグローバル・モディファイアです。
<mt:for eval="1" regex_replace="/変換前の記述/","変換後の記述">
 ~テンプレート~
</mt:for>
このように書くと、囲まれたテンプレート内の値を変換することが出来ます。 変換前の記述は正規表現で書くのがポイントです。 これを使って<$mt:BlogURL$>などのMTタグで出力されるパスを書き換えることが出来ます。
例1) 「 http://tam-tam.co.jp/tipsnote/ 」を「 /tipsnote/ 」に書き換える
<mt:for eval="1" regex_replace="/https?:\/\/tam-tam\.co\.jp\/tipsnote\//g","/tipsnote/">
 ~テンプレート~
</mt:for>
例2) 「 http://tam-tam.co.jp/~/index.html 」を「 http://tam-tam.co.jp/~/ 」に書き換える
<mt:for eval="1" regex_replace="/https?:\/\/tam-tam\.co\.jp(.*)\/index\.html/g","http://tam-tam.co.jp$1/">
 ~テンプレート~
</mt:for>
例3) 「 http://tam-tam.co.jp/tipsnote/ 」を「 http://tam-tam.co.jp/tipsnote/mobile/ 」に書き換える
<mt:for eval="1" regex_replace="/https?:\/\/tam-tam\.co\.jp\/tipsnote\//g","http://tam-tam.co.jp/tipsnote/mobile/">
 ~テンプレート~
</mt:for>
もちろん「regex_replace」はパス書き換え以外にも使用できます。 工夫次第で、とても便利に使えます。
新しいウェブ体験を作ろう TAMのPWA開発
お問い合わせはこちら