2013-07-30 76 views
0

我一直在寻找在这里,尝试不同的东西,但我不能把它固定..的Javascript:删除新行不起作用

var save_field = res[0]; 
var save_value = res[1]; 
save_value = save_value.replace(/\n/gm, '<br />'); 
console.log(save_value); 

$('#'+save_field).html(save_value); 

的“save_value”变量有像“Klant内容:Vermaeren B. \ nType:Brandstoffilter \ nVoertuig:Peugeot 306 1.4i XR“。我想用<br />替换那些,因为我在一个div中显示它..但是\ n不会被替换..:/

我已经用jQuery $ .ajax()请求检索了内容。我也试图在该AJAX文件的结果上使用nl2br(),但JavaScript一直给我换行\ n ..

有人可以帮我吗?

在此先感谢!

回答

3

需要在“n”之前转义“\”。尝试:

save_value = save_value.replace(/\\n/gm, '<br />'); 
+0

这样的小东西,可以做很多.. 它为我,谢谢! –

+0

@BjörnVermaeren太棒了!你欢迎.. – Cherniv

0

如果它是一个字符串\n而不是一个新行,你会想逃离反斜杠\\n - 你可能还需要检查返回字符\r\\r

save_value = save_value.replace(/(\\r)?\\n/gm,'<br/>');//literal string 

save_value = save_value.replace(/\r?\n/gm,'<br/>');//newline characters 

或额外包含,都!

save_value = save_value.replace(/\r?\n/gm,'<br/>').replace(/(\\r)?\\n/gm,'<br/>'); 
+0

你可以只使用一个任务,连接两个'.replace'在一起 –

+0

@LightStyle我知道,他们是选项 - 使用一个或另一个取决于新行是文字字符串还是实际换行符 – SmokeyPHP