Igo*_* L. 3 javascript jquery newline cakephp-2.1
我想这将在两分钟内得到解答,但我无法谷歌解决方案.
我有一个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)
基于@Explosion Pills评论和jsFiddle
function replaceHtml( string_to_replace )
{
return string_to_replace.replace(/ /g, ' ').replace(/<br.*?>/g, '\n');
}
Run Code Online (Sandbox Code Playgroud)
UPDATE基于文本区域中的新行
也许这将解决您的问题\n- 需要jQuery.
function replaceHtml(string_to_replace) {
return $("<div>").append(string_to_replace.replace(/ /g, ' ').replace(/<br.*?>/g, ' ')).text();
}
Run Code Online (Sandbox Code Playgroud)