var messagetoSend = $.trim(document.getElementById("msgText").value);
messagetoSend = messagetoSend.replace("\n", "<br />");
alert(messagetoSend);
Run Code Online (Sandbox Code Playgroud)
给定输入:
Line 1
Line 2
Line 3
Run Code Online (Sandbox Code Playgroud)
这个提醒:
Line 1<br />
Line 2
Line 3
Run Code Online (Sandbox Code Playgroud)
当我希望它提醒时:
Line 1<br /><br /><br />Line 2<br /><br /><br /><br /><br />Line 3
Run Code Online (Sandbox Code Playgroud) 我如何编写正则表达式来替换<br />或<br> 使用\n.我正在尝试将文本从div移动到textarea,但不希望<br>在textarea中显示,所以我想替换然后用\n.
我想这将在两分钟内得到解答,但我无法谷歌解决方案.
我有一个textarea,它首先从服务器收到一些数据(动态使用AJAX).textarea中的文字可能如下所示:
Hello Cruel <br />World!
Run Code Online (Sandbox Code Playgroud)
我的用户不喜欢这个:)
所以我写了一个非常简单的函数:
function replaceHtml( string_to_replace )
{
var result = replaceAll( string_to_replace, " ", " ");
result = result.replace(/<br\s*\/?>/mg,"\n\r"); // or "\n", "\r", "\r\n"
return result;
}
Run Code Online (Sandbox Code Playgroud)
我的输出如下:
Hello Cruel World!
Run Code Online (Sandbox Code Playgroud)
代替:
Hello Cruel
World!
Run Code Online (Sandbox Code Playgroud)
我想要一个最多5行的解决方案,可以应用于所有浏览器和操作系统
顺便说一句,我不是正则表达的粉丝,所以也许真正的问题就在那里..
UPDATE
从这个答案和Michael_B先生我得到了这个解决方案,这对我有用,但是我有一个预感,这个角色可能不是最好的解决方案:
function replaceHtml( string_to_replace )
{
return string_to_replace.replace(/ /g, ' ').replace(/<br.*?>/g, '\u2028');
}
Run Code Online (Sandbox Code Playgroud) "test<br>test<br>test<br>test".replace('/<br>/g', '\n');
Run Code Online (Sandbox Code Playgroud)
不替换<br>'s \n,它保持字符串不变.我无法弄清楚为什么.