私がやろうとしているのは、書式設定のために2つの改行を許可することですが、3つ以上が表示されないようにすることです(送信前のプレビューでは、phpでそれを取り除くことはできません)
私はから始めました
var breakTag = (is_xhtml || typeof is_xhtml === 'undefined') ? '<br />' : '<br>';
return (str + '').replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n){2,}/g, '$1'+ breakTag +'$2');
追加してみました{2,}
var breakTag = (is_xhtml || typeof is_xhtml === 'undefined') ? '<br />' : '<br>';
return (str + '').replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n){2,}/g, '$1'+ breakTag +'$2');
で提供<textarea>
this is user input
i have inserted 1 line break
i have inserted 3 line breaks
i have inserted 4 line breaks
私が欲しいのは
this is user input
i have inserted 1 line break
i have inserted 3 line breaks
i have inserted 4 line breaks
私が得ているのは
this is user inputi have inserted 1 line break
i have inserted 3 line breaks
i have inserted 4 line breaks
{2,} がない場合、入力として表示されます
最初にテキストエリアに 2 つ以上の改行を連続して入力しないようにし、プレビューでクリーンアップすることができればボーナスです。
* 編集 *
$('textarea').keyup(function()
{
var myString = $(this).val();
myString = nl2br(myString);
$('#preview').html(myString);
});
function nl2br (str, is_xhtml)
{
var breakTag = (is_xhtml || typeof is_xhtml === 'undefined') ? '<br />' : '<br>';
return (str + '').replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1'+ breakTag +'$2');
}