Javascript 在ExtJS组件中显示富文本

Javascript 在ExtJS组件中显示富文本,javascript,php,html,extjs,richtext,Javascript,Php,Html,Extjs,Richtext,我试图在extjs应用程序中使用tpl在组件中显示一些富文本。我从我的数据库中获取富文本,它如下所示: 这是带有两个换行符的示例文本\r\n\r\n 目前extjs只显示文本,但我希望它也能换行。 在服务器端,我使用PHP,然后通过直接层将数据加载到extjs中 有没有可能做到这一点?最好的办法是,你能以某种方式将富格文本翻译成HTML 以下是我的第三方物流的一个例子: tpl:[ '<h2>Some HTML Title</h2>' '{RICH_TEXT}' '

我试图在extjs应用程序中使用tpl在组件中显示一些富文本。我从我的数据库中获取富文本,它如下所示:

这是带有两个换行符的示例文本\r\n\r\n

目前extjs只显示文本,但我希望它也能换行。 在服务器端,我使用PHP,然后通过直接层将数据加载到extjs中

有没有可能做到这一点?最好的办法是,你能以某种方式将富格文本翻译成HTML

以下是我的第三方物流的一个例子:

tpl:[
 '<h2>Some HTML Title</h2>'
 '{RICH_TEXT}'
 '<p>Some more HTML Stuff</p>'
]

我该怎么办?如果没有可能,我如何摆脱这些东西,只显示清晰的文本,因为这在extjs中是可见的。

在JS中,您可以用br标记替换换行符,如下所示

str = str.replace(/(?:\r\n|\r|\n)/g, '<br />');
str=str.replace(/(?:\r\n |\r |\n)/g,“
”);

或者,在发送数据之前,您可以在PHP端使用内置函数
nl2br

执行相同的过程。当涉及换行符时,您可以对该组件使用CSS
white space:pre
。@Lolo感谢您的提示,但是现在,当第一个换行符前面有很多文本时,它会拉伸整个组件,文本显示在一行中。而之前,当文本到达组件末尾时,它会自动换行。谢谢这有助于换行,但我还需要处理其他富文本内容。我更新了这个问题。如果你想在屏幕上显示所有的RTF格式,有第三方库和函数可以做到这一点。请参阅类似的问题或GIT项目。感谢您的帮助。我将两者结合使用:对于第一个版本的rtf字符串,我使用
nl2br
方法;对于第二个版本的rtf字符串,我使用找到的rtf到HTML转换器类
str = str.replace(/(?:\r\n|\r|\n)/g, '<br />');