首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角标记下解析"\n“新行字符问题

角标记下解析"\n“新行字符问题
EN

Stack Overflow用户
提问于 2018-12-16 13:10:12
回答 1查看 802关注 0票数 2

我已经创建了一个博客,在这个博客中,标记作为字符串从我的后端返回,但是当我返回一个带有正确换行符的字符串时,它的行为并不像预期的那样。

我正在使用ngx-降价来处理标记字符的解析,并使用ngPreserveWhitespaces属性来确保它能够像预期的那样工作。

示例:

代码语言:javascript
复制
// Example #1 Returned String
"## This is a subheader\n This is a sentence"

// Output
<h2>This is a subheader\n This is a sentence</h2>

它将它显示为一行,换行符物理上呈现为文本,如上面所示。

但是,在我的任何角组件中,我都可以将这个字符串作为属性写入该组件并返回它,并且它正确地呈现如下:

代码语言:javascript
复制
// Example #2 Hard Coded String
public correct: string = "## This is a subheader\n This is a sentence";

// Output

<h2>This is a subheader</h2>

<p>This is a sentence</p>

如前所述,我使用的标记解析器是这样实现的:

代码语言:javascript
复制
<markdown ngPreserveWhitespaces>{{content}}</markdown>

我还试图通过在主/tsconfig文件中设置ngPreserveWhitespaces来做到这一点。但是,我不认为这就是问题所在,因为我可以(在JS中本机) console.log返回的字符串(#1)和硬编码的字符串(#2),甚至我的该死的日志显示方式也不同(后者格式正确,前者只是字符串输出)。

我试图:

  • JSON用多种方式(以及不使用)对数据进行字符串化/解析
  • 我尝试使用regex手动替换字符。
  • 我尝试过手动使用<br />
  • 我已经尝试过关于这个标记解析器处理空白的所有概述的这里 (我不认为这是问题)。

似乎没有什么能安抚新的众神。

EN

回答 1

Stack Overflow用户

发布于 2018-12-16 13:34:53

解决方案

好的,我找到了我的解决方案,我现在将我的减价字符串存储如下:

代码语言:javascript
复制
"## This is a subheader\n This is a sentence"

这里的不同之处是我将它存储在(一个Mongo )中的接口已经在字符串值周围放置了语音标记,所以现在它实际上如下所示:

代码语言:javascript
复制
""## This is a subheader\n This is a sentence""

这对于MongoDB指南针来说比我所尝试的更奇怪。

从这一点出发,我能够正确地使用JSON.parse值(以前它试图用一个无效的JSON字符串来实现这个值,因为它没有用双标记括起来)。

现在,我在一个Property类的扩展中处理这个问题,每个类都称为HtmlProperty,在实例化时,它正确地解析了值。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53802458

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档