ちょっと前に「りんごのお味: Blockquoteでデフォルトで改行を自動挿入」で書いたソースを使っていたのだが、何やらXHTML 1.1でValidationを通らなくなってしまっていた。最初、何故か分からなかったのだが、地道に追っかけていくと、何と<p>タグの中に<p>タグが入れ子になっているのを発見。そそくさと修正しました。やはり272行目あたり。
なぁに、簡単な事でした。ということで今はなんとか無事、Validになったとか。
りんごのお味: Blockquoteでデフォルトで改行を自動挿入
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|blockquote|address|div|hr)@) {
$p =~ s!\r?\n!<br />\n!g;
$p = "<p>$p</p>";
}
<!-- この下から -->
# elsif ($p =~ m@^</?(?:blockquote|div|p)@){ # ←これが最初のコード
elsif ($p =~ m@^</?(?:blockquote|div)@){ # ←こっちが修正後。divの後の|pを取った。
$p =~ s!\r?\n!<br />\n!g;
}
<!-- この上まで -->
}
join "\n\n", @paras;
}
なぁに、簡単な事でした。ということで今はなんとか無事、Validになったとか。
コメントする