首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Showdown中忽略多个\n实例

在Showdown中忽略多个\n实例
EN

Stack Overflow用户
提问于 2018-08-27 01:29:20
回答 2查看 592关注 0票数 0

有人能帮我解决下面的问题吗?

基本上,我有一个JSON,其中文本有一个行中断的\n。然后,我需要将其解析为标记,并将其转换为HTML。唯一的问题是,我尝试过的所有解析器都忽略了多个\n实例。为了纠正这个问题,我在下面提出了一个想法,但正如你所看到的,它实际上并不具有很强的适应性,而且非常笨重。

代码语言:javascript
复制
var converter = new showdown.Converter(),
description = data.description.replace(/\n\n/g, "\n<br/>\n<br/>");
description = data.description.replace(/\n\n\n/g, "\n<br/>\n<br/>\n<br/>");
description = data.description.replace(/\n\n\n\n/g, "\n<br/>\n<br/>\n<br/>\n<br/>");
var html = converter.makeHtml(description);

是否有一种方法使其在一列中有多个\n时,将一个<br/>附加到每个\n中?

谢谢:D

编辑: JSON在下面:

代码语言:javascript
复制
{
    "description": "**A glitchy apple respring animation for Anemone.**\n\n\nOriginally requested by u/Cyko__, u/Momoske (Osctardo) decided to make a \"Smoke Ball\" animation for all devices with the 7 different resolutions:\n\n- 1136x640 (iPhone 5s)\n- 1334x750 (iPhone 6/7/8)\n- 1472x828 (iPhone 6/7/8 upscaled)\n- 1920x1080 (iPhone 6+/7+/8+)\n- 2208x1242 (iPhone 6+/7+/8+ upscaled)\n- 2436x1125 (iPhone X)\n- 2688x1242 (iPhone X upscaled)\n\n\nIn the comments of the [UPCOMING] post on r/jailbreak, 2 other people (u/MatRanc and u/R3IZ4) requested for:\n\n- An *\"Apple Glitch\"* respring animation\n- A *\"Verbose\"* respring animation, which was both reworked and updated to look great on all these devices and resolutions\n\n\nThis is the *\"Apple Glitch\"* respring animation, with a black version included for those of you with an OLED device (made by myself)!"
}

编辑2:这是一个弹琴,这样你就可以看到发生了什么。只要从其中删除.replace(),您就可以看到没有<br/>https://jsfiddle.net/jacobcxdev/t7hj5mx0/的HTML应该是什么。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-08-27 04:01:59

我设法找到了解决办法!

代码语言:javascript
复制
var converter = new showdown.Converter(),
  description = data.description.replace(/\n{2,}/g, m => m.replace(/\n/g, "<br/>"));
description = description.replace(/<br\/>([^<])/g, "<br\/>\n\n$1");
var html = converter.makeHtml(description);

Slai的第一次替换的信用!

票数 0
EN

Stack Overflow用户

发布于 2018-08-27 01:33:44

当然,您只需要用\n替换每个\n

代码语言:javascript
复制
description = data.description.replace(/\n/g, "\n<br/>");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52031552

复制
相关文章

相似问题

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