PowerCMS X Q&A

PowerCMS Xを用いてWebサイトを構築する際の技術的なヒントや解決策をご紹介します。

出力したHTML内の空行を消す方法を教えてください

MTEntriesなどのブロックタグ、MTIfなどの条件タグ、MTSetVarなどのファンクションタグを使うと出力するHTML内に空行が生じます。これは仕様です。

以下のようなコードで行の先頭のスペース、改行を削除することができます。(MTUnlessを外した場合と比較してみてください。)

<mt:unless regex_replace="'/^\s+/um',''" remove_blank="1">
<!DOCTYPE html>
<mt:setvar name="lang" value="ja" />
<mt:setvar name="page_description" value="テストです。" />
<html lang="<mt:var name="lang" escape />">
  <head>
    <mt:if name="page_description">
      <meta name="description" content="<mt:var name="page_description" />">
    </mt:if>
    <title></title>
</mt:unless>

何らかの理由でHTMLをきれいに整形する必要がある場合は、HTML整形機能を提供するPHPを組み込んだプラグインを作成します。実装例として「 PowerCMS Xで出力するHTMLの整形 | スタッフブログ | LAB Inc.」があります。(当サイトでも利用しています。)

パフォーマンス重視(転送量の削減を優先)であればMinifierプラグインの利用が最適です。

関連するQ&A