Meteor 流星:如何渲染断线?

Meteor 流星:如何渲染断线?,meteor,Meteor,我有以下变量:“你好↵↵世界”。(该值来自文本区域) 问题是,当我要求Meteor用{{content}显示它时,所有内容都显示在同一行上,并且没有考虑换行符 {{content}} # renders hello world # should render hello world 一种方法是创建把手辅助对象: Handlebars.registerHelper 'breaklines', (text) -> text = text.replace /(\r\n|\n|\r)

我有以下变量:“你好↵↵世界”。(该值来自文本区域)

问题是,当我要求Meteor用{{content}显示它时,所有内容都显示在同一行上,并且没有考虑换行符

{{content}}

# renders
hello world

# should render
hello
world

一种方法是创建把手辅助对象:

Handlebars.registerHelper 'breaklines', (text) ->
    text = text.replace /(\r\n|\n|\r)/gm, '<br>'
    return text

一种方法是创建把手辅助对象:

Handlebars.registerHelper 'breaklines', (text) ->
    text = text.replace /(\r\n|\n|\r)/gm, '<br>'
    return text
包裹


任何
数量
格式化。


任何
数量
格式化。

如果使用引导,请使用

<span class="pre">{{content}}</span>
然后用该类包装您的内容:

{{breaklines title}}
{{content}

如果使用引导,请使用

<span class="pre">{{content}}</span>
然后用该类包装您的内容:

{{breaklines title}}
{{content}

然后,我将以以下方式在模板中使用帮助器:

escapeHTML
是Underline.string的一部分,Underline.string是一个字符串操作扩展集合,您可以使用meteor add下划线字符串:Underline.string
,但任何其他转义html的方法也可以正常工作。


然后,我将以以下方式在模板中使用帮助器:


escapeHTML
是下划线.string的一部分,这是一组字符串操作扩展,您可以使用
meteor添加下划线字符串:下划线.string
,但是任何其他转义html的方法都应该很好。

只要使用

就足够了,不再有麻烦。

只要使用

就足够了,不再有麻烦。

也许
\r
\n
\r\n
会有帮助吗?!也许
\r
\n
\r\n
会有帮助?!这将打开你的应用程序进行恶作剧,人们可以将标签和javascript放入文本字段。是的,你可以对此加以防范,并且可以辩称你知道文本的来源。但一般来说,这不是随便使用的解决方案。是的,你是对的。我已经更改了接受的答案。这不是问题,用户添加的内容解析无论如何都必须在服务器端完成。这将打开你的应用程序进行恶作剧,人们可以将标签和javascript放入文本字段。是的,你可以对此加以防范,并且可以辩称你知道文本的来源。但一般来说,这不是随便使用的解决方案。是的,你是对的。我已经更改了接受的答案。这不是问题,用户添加的内容解析必须在服务器端完成。您也可以对pre标记应用格式(如果这样做,可能应该向pre添加一个类)。像往常一样,有许多方法可以解决同一个问题。这是最低限度的回答。@bull你救了我的命!!:DYou还可以将格式应用于pre标记(如果这样做,可能应该向pre添加一个类)。像往常一样,有许多方法可以解决同一个问题。这是最低限度的回答。@bull你救了我的命!!:不添加包而转义文本的另一种方法是使用未记录的函数
Blaze.\u escape()
。不添加包而转义文本的另一种方法是使用未记录的函数
Blaze.\u escape()