我想知道是否有任何方法可以解决我的问题而不用其他值替换\n
:
用户可以在textarea中输入某些内容的说明。他也能够在那个文本区域进行换行。
在我的控制器中有一个description
值,其中包含This is my \n description with a line break
之类的输入字符串。
该值将在用户提交后保存到数据库中。
我的问题是:
如果用户想要编辑他的描述,则textarea中的值应该是自动格式化的,所以它应该在他输入描述时看起来。
首先:是否有任何特殊技巧来格式化输入来自angularjs的textarea?
第二:有没有办法让\n
保留在文本中,但会将其显示为换行符?
答案 0 :(得分:0)
textarea中的新行是结果字符串中的新行(\n
)。
此fiddle表明了这种行为。
如果要将\n
存储在数据库中,则无需执行任何操作,该字符串已具有该格式。
如果通过&#39; linebreak&#39;,你的意思是<br>
标签,而你实际上意味着该字符串来自包含此类标签的数据库,那么您应该事先将其替换为我想的。
理想情况下,您的数据库应包含换行符(\n
),您应该保存并从中获取换行符,不进行转换。
您还可以制作自定义过滤器,将\n
替换为<br>
// filters js
myApp.filter("nl2br", function($filter) {
return function(data) {
if (!data) return data;
return data.replace(/\n\r?/g, '<br />');
};
});`