jQueryでPHPのnl2br()を使う方法!
フォームに入力した改行入りの文章をHTMLで表示する際、改行は反映されません。
改行はbrタグに直しておかなければブラウザ上では改行されないからです。
そんなときPHPではnl2br()を使用して\nや\rなどの改行文字をbrタグに変換してから表示しますが、Javascriptにそれがないのでつくりました。
自作プラグインに追加しておき、いつでも使用できるようにしています。
以下のスクリプトをnl2br.jsとして保存してください。
nl2br.js
(function($) { $.extend({ nl2br: function nl2br(str) { return str.replace(/[\n\r]/g, "<br />"); } }); })(jQuery);
そして以下のように読み込みます。
<script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="nl2br.js"></script> <script type="text/javascript" src="script.js"></script>
そしたら、script.jsなどを作成して以下のように使用できます。
$(function(){ var str = "\ あいうえお\n\ かきくけこ\n\ さしすせそ\n\ ";
str = $.nl2br(str);
$("#target").html(str); });
通常はtextareaなどで入力された改行入りの文字列を$.nl2br()に渡して使用します。