【提案】編集支援ボタンのJavaScript修正(2)

 先日も書きましたが、emやstrongタグの挿入は、pタグの自動挿入の内側になるようにすべきです。

 現状、たとえば、

1行目(改行)
2行目(改行)

を(上手に)選択して、strong指定すると、

<strong>1行目(改行)
2行目</strong>(改行)

となるわけですが、これをダイアリーで表示すると、

<p><strong>1行目</p>(改行)
<p>2行目</strong></p>(改行)

となり、マークアップが文法的におかしくなります。
 ここは当然、

<p><strong>1行目</strong></p>(改行)
<p><strong>2行目</strong></p>(改行)

となって欲しいので、支援ボタン押下後の編集画面は、

<strong>1行目</strong>(改行)
<strong>2行目</strong>(改行)

であって欲しいです。

JavaScript修正案

 strong、em、delの場合は、function markup()の

set_range(e, startv + str + endv);

を、

set_range(e, startv + str.replace(/\r?\n/ig, endv + '\n' + startv) + endv);

とすることを提案します。(引数による場合分けか別関数を用意する)


 IE用カスタマイズを加えました!!

ひょっとして

 MacやUN*Xのことを考えると、

set_range(e, startv + str.replace(/(\r?\n|\r)/ig, endv + "$1" + startv) + endv);

が正解かも。(未テスト)