Textarea的新线将转换为<br/>

C_K*_*C_K 28 jquery textarea newline replacewith

这里有很多关于转换br />或保留不同语言换行的线索,但关于textarea的问题并不多.

我有这个脚本:

var boxText = "";
$("textarea.BoxText").live('dblclick', function () {
    boxText = $(this).val().replace(/ /g, "<br/>");
  $(this).replaceWith( '<div class="BoxText">' + $(this).val() + '</div>' );

});
$("div.BoxText").live('dblclick', function () {
  $(this).replaceWith( '<textarea form="HTML" class="BoxText">' + boxText + '</textarea>' );
});
Run Code Online (Sandbox Code Playgroud)

我有一个textarea元素,可编辑.当用户双击它时,它会转换为div.但是,在div中,不保留换行符.我想将新行转换为
,目前,正在转换所有空格.我有第二个脚本将其转换回textarea,因此存储字符串的变量.我也需要将
它们重新转换成新的线条.

这似乎是多余的,但我有充分的理由.

Nei*_*eil 82

这将替换换行符到HTML中断标记.不同的组合将涵盖不同的浏览器/系统以及如何解释换行符.

$(this).val().replace(/\r\n|\r|\n/g,"<br />")

这将把它带回到新的领域 - 也包括不同的浏览器如何解释innerHTML.

boxText.replace(/<br\s?\/?>/g,"\n");