要将富文本转换为纯文本并保留换行和空格,包括段落的换行效果
时间: 2024-03-10 17:43:41 浏览: 116
可以使用 JavaScript 中的正则表达式来替换 HTML 标签和实体字符,从而将富文本转换为纯文本,并保留换行和空格,包括段落的换行效果。示例代码如下:
```javascript
function convertHtmlToText(html) {
// 替换实体字符
html = html.replace(/ /g, ' ');
html = html.replace(/</g, '<');
html = html.replace(/>/g, '>');
html = html.replace(/&/g, '&');
// 替换换行符和空格
html = html.replace(/<br>/g, '\n');
html = html.replace(/<p.*?>/g, '\n');
html = html.replace(/<.*?>/g, '');
// 返回纯文本
return html;
}
```
这个函数接受一个包含富文本的字符串作为参数,返回一个纯文本字符串。该函数会先替换实体字符,然后替换所有 <br> 标签和 <p> 标签为换行符,最后替换所有 HTML 标签为空字符串,从而得到纯文本。
相关问题
js将富文本转正文本,并保留换行和空格
要将富文本转换为纯文本并保留换行和空格,可以使用以下代码:
```javascript
function convertRichTextToPlainText(richText) {
// 将 HTML 标签替换为空格
let plainText = richText.replace(/(<([^>]+)>)/ig, ' ');
// 将连续的空格替换为单个空格
plainText = plainText.replace(/\s+/g, ' ');
// 将换行符替换为换行符和空格
plainText = plainText.replace(/(\r\n|\n|\r)/gm, '\n ');
return plainText;
}
```
在上面的代码中,第一行使用正则表达式将 HTML 标签替换为空格。第二行将连续的空格替换为单个空格。第三行将换行符替换为换行符和空格,以便在最终的纯文本中保留换行和空格。
需要保留富文本中所有换行,包括段落的换行效果
如果要保留所有换行,包括段落的换行效果,可以使用 HTML 标签中的 <pre> 标签,它可以保留文本中的所有空格、制表符和换行符。你可以将文本包裹在 <pre> 和 </pre> 标签之间,如下所示:
```
<pre>
这是第一行
这是第二行
这是第四行
</pre>
```
这样就可以保留文本中的所有换行效果了。
阅读全文