2012/04/08

table 内の改行が br に変換される不具合

前回エントリでは、<table>タグを使用しました。

はてなブログには「表組み記法」というものがあり、"|"で始まる行を原稿に書いて保存すると、表示したとき自動的に<table>タグに展開されるようになっていて、簡単にテーブルが表現できます。しかし、原稿上のある行がテーブルの一部であるかいなかは各行単位で解釈されるため、セル内容が複数行にわたる場合は、この記法を利用することができません。

そこで前回は、手書きで<table>タグを使用したのですが、はてなブログにはその処理に不具合があります。

<table>タグの内側で、<tr><th><td>タグの外側に改行があると、すべて<br />に変換されてしまうので、HTMLの仕様により、テーブルの直前に不要の空行が挿入されてしまいます。

以下のような原稿をポストすると、
<table>
<tr><th>表頭</th></tr>
<tr><td>セル内容</td></tr>
</table>

以下のように展開されてしまいます。
<p>
<table><br />
<tr><th>表頭</th></tr><br />
<tr><td>セル内容</td></tr><br />
</table>
</p>

明らかに不本意な変換です。テーブル全体を<p>タグでくくるのも、ちょっと美しくないなあ、と思います。

<br />タグへの変換を回避するため、以下のように<tr>タグ等を閉じずに改行してみたらどうかと試してみましたが、さらにひどい事態になりました。
<table><tr
><th>表頭</th></tr><tr
><td>セル内容</td></tr
></table>

改善を望みます。できれば、表組み記法で、複数行のセル内容に対応していただくと、いっそう助かります。

0 件のコメント:

コメントを投稿