ウェブネタ

regex_replace

以前に「MTの「改行を変換」をHTML5に対応させる」という記事を書いたんですが、これは「改行を変換」フォーマットで書かれたウェブページやブログ記事から余計なp要素・br要素を削除するというアプローチを取っていました。

この方法では、pre要素などの「改行はするけどp要素・br要素を追加して欲しくない」場合にはスマートに対処出来ませんでした。

例えば、Google Maps などのスクリプトをscript要素で本文内に記述した場合、大量にp要素・br要素が追加されてしまい、正常に動作しません。

そこで、視点を変えて、「改行を変換」フォーマットを使用せず、p要素・br要素を自動挿入する方法を紹介します。

以前、「MTが構築するHTMLソースの空白と改行を削除する」という記事を書いたんですが、もっといい方法を見つけました。こんなの(↓)。

<MTFor regex_replace="/^\s+(<|(--|\/|\?)?>)/mg","$1" trim="1">
  
  <!--余計なスペースと改行を削除したいコードをここに記述-->
  
</MTFor>

Movable Typeが構築するHTMLソースには、余計な空白や改行が多く、正直きたないですよね。なので、これらをごっそり削除する方法を紹介します。

プラグインは使用せず、この頃お世話になりっぱなしのグローバル・モディファイア「regex_replace」を使用します。

MTでブログ記事やウェブページを作る際、改行や空行をpタグやbrタグに変換してくれる「改行を変換」は、ただ文章を書いていくだけならば非常に便利な機能です。

しかし、HTMLタグを使って作りこむ際には、変なところにpタグやbrタグを勝手に入れてしまうので、非常に不便でもあります。

特に、サイトをHTML5で構築していて、本文中にsectionタグやarticleタグなどを使った場合には、pタグやbrタグのオンパレードになります。

そこで、「改行を変換」をHTML5に対応させる方法を紹介します。MTのバージョンアップに即座に対応できるようプラグインを使用しない方法です。