MTのテキスト複数行で改行を反映させる方法
Movable Typeのカスタムフィールドには「テキスト(複数行)」というものが存在しますが、普通に出力すると以下のようにテキストフィールド内の改行が反映されません。
テキスト(複数行)のカスタムフィールドには以下のように入力されているとします。
吾輩は猫である。
名前はまだ無い。
どこで生れたかとんと見当がつかぬ。
これをそのまま出力すると…
<mt:customFieldName>
吾輩は猫である。
名前はまだ無い。
どこで生れたかとんと見当がつかぬ。
上記のように改行箇所に<br>タグは入ってくれません。
改行を反映させるには
改行を反映させるにはnl2brというモディファイアを付与します。
nl2brは付与したファンクションタグに含まれる改行をbr要素に置き換えることができます。
nl2br=”1”では改行を<br>に、nl2br=”xhtml”では改行を<br />に変換します。
<mt:customFieldName nl2br=”1”>
吾輩は猫である。<br>
名前はまだ無い。<br>
どこで生れたかとんと見当がつかぬ。
Pタグで囲うには
入力されたテキストをpタグで囲いたい場合にはnl2brではなくconvert_breaksというモディファイアを付与します。
<mt:customFieldName convert_breaks="1">
<p>吾輩は猫である。<br />
名前はまだ無い。<br />
どこで生れたかとんと見当がつかぬ。</p>
convert_breaksを付与することでpタグで囲われた状態で改行も反映されますが、改行が<br />となってしまうため以下のようにreplaceを追加して<br>に置換します。
<mt:customFieldName convert_breaks="1" replace="<br />","<br>">
<p>吾輩は猫である。<br>
名前はまだ無い。<br>
どこで生れたかとんと見当がつかぬ。</p>
こうすることでconvert_breaksでも<br>に変換することができます。
おしまい。