Javascriptで改行をbr,pタグに変換するツール

Javascriptを使って、改行をbrタグとpタグ(段落分け)に変換するツールを作成しました。

テキストファイルからHTMLファイルを作成するときに役立つかも?

改行をbrタグとpタグに変換するツール

基本的には正規表現を使えば簡単ですが、改行の変換に\nと\rの両方の変換が必要な点は注意すべきかもしれません。
ソースは次の通りです。

実際には、フォームからのデータ受け取りなどの処理もちょこっとだけあるのですが、今回は本質のみ抜き出します。

var p = “</p><p>”;

//文字列texの改行をbrタグおよびpタグへ変換

//最初にpタグを付加
tex = “<p>\n” + tex;

// \nだけでなく、\rも変換するのがポイント。
// 改行はブラウザによって、\r\nだったり、\nだけだったりするので、
// まず最初に\r\nを変換して、その後\nを変換する
tex = tex.replace(/\r\n/g, “<br />”);
tex = tex.replace(/(\n|\r)/g, “<br />”);

// 2個以上連続する<br />をpタグに変換。
// ただし、”\n”+p+”\n”の”p”は最初に定義した変数です。
tex = tex.replace(/(<br \/>){2,}/g, “\n”+p+”\n”);

tex = tex.replace(/<br \/>/g, “<br />\n”);

// 最後にもpタグを付加
tex += “</p>”;

// たまに 〜</p><p></p> と何もない段落が出来てしまう場合があるのでそれを削除
tex = tex.replace(/<p>(\r\n|\n|\r}\b)*<\/p>/g, “”);

// pタグの直後にbrタグが来る場合を修正
tex = tex.replace(/<p>(\r\n|\n|\r}\b)*<br \/>/g, “<p>”);

実際の動作については、こちらを参照してください。
改行をbrタグとpタグに変換するツール

カテゴリー: JavaScript   パーマリンク

コメントをどうぞ

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>