2005年11月05日

Blockquoteで改行する

間違って上書きしては、修正法を検索して....そしてアップデートごとに同じ過ちを...
ということで、MTでBlockquoteしたときに改行されなくなる現象の修正法をメモしておきます。MT ver3.2-ja-2用のメモですが、基本は他のバージョンでも同じだと思います。

mt/lib/MT/Util.pmの399行目から始まるhtml_text_transformを以下のように修正します。赤字の部分を追加すれば、改行が有効になります。

sub html_text_transform {
my $str = shift;
$str ||= '';
my @paras = split /\r?\n\r?\n/, $str;
for my $p (@paras) {
if ($p !~ m@^</?(?:h1|h2|h3|h4|h5|h6|table|ol|dl|ul|menu|dir|p|pre|center|form|fieldset|
select|blockquote|address|div|hr)@) {
$p =~ s!\r?\n!<br />\n!g;
$p = "<p>$p</p>";
}
elsif ($p =~ m@^</?(?:blockquote|div|p)@){
$p =~ s!\r?\n!<br />\n!g;
}

}
join "\n\n", @paras;
}

改行はできてるけど、バックスラッシュ表示できてませんねぇ...--;


以下のエントリを参考にさせてもらいました。(ほぼそのままですね...)
参照元:Blockquoteタグに改行を入れる方法

Trackback on "Blockquoteで改行する"

このエントリーのトラックバックURL: 

"Blockquoteで改行する"へのトラックバックはまだありません。

Comment on "Blockquoteで改行する"

"Blockquoteで改行する"へのコメントはまだありません。

Post a Comment

コメントする
(HTMLタグは使用できません)
ブラウザに投稿者情報を登録しますか?(Cookieを使用します。次回書き込み時に便利です。)
  •  
  •