-2

我有一段来自后端的文本,它包含
在大括号内,如下所示:

...some text { <br /> } { <br /> } ...more text

以及一些内联 HTML 样式,例如:

...some text <strong>some text</strong>

我需要删除所有这些,但需要在换行符所在的位置换行。

这些如何用正则表达式完成?

4

1 回答 1

0

我有一个不需要正则表达式的解决方案。但是,由于我不知道您的 html 的内容,它可能无法正常工作。所以,测试它以确保。

第一部分是一个简单的文本替换,所以它不需要正则表达式

htmlData.replaceAll('{ <br /> } ', '\n');

然后,您创建一个 DOM 元素,将所有 html 数据插入其中,并获取innerText属性,即不带标签的文本数据。

const p = '...some text <strong>some text</strong> more text <b>more</b> text...some text { <br /> } { <br /> } ...more text';
console.log("BEFORE: "+p);

let tmp = document.createElement("DIV");
// Replace into newlines.
tmp.innerHTML = p.replaceAll('{ <br /> } ', '\n');
// Get the text.
console.log("AFTER: "+tmp.innerText);

于 2021-09-17T20:14:25.730 回答