You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Regex和Javascript移除HTML标签并保留对应换行的实现方法

实现方案

你可以通过两步正则替换完成需求,逻辑如下:

  1. 先匹配所有带大括号/不带大括号的换行标签实体,统一替换为换行符
  2. 再匹配剩余所有HTML标签实体,直接删除即可

正则规则说明

  • 匹配换行标签的正则:/{?\s*<br\s*\/?>\s*}?/gi
    • 可同时匹配{ <br /> }、<br>、<br/>等多种格式的换行标签
    • 匹配到的内容统一替换为\n保留换行效果
  • 匹配其余HTML标签的正则:/<.*?>/gi
    • 非贪婪匹配所有<开头、>结尾的标签实体,匹配后直接替换为空字符串即可

代码示例

JavaScript 示例

const rawContent = '...some text { <br /> } { <br /> } ...more text\n...some text <strong>加粗文本</strong>'
// 第一步:替换换行标签为换行符
let result = rawContent.replace(/{?\s*<br\s*\/?>\s*}?/gi, '\n')
// 第二步:移除所有其他HTML标签
result = result.replace(/<.*?>/gi, '')
console.log(result)

Python 示例

import re

raw_content = '...some text { <br /> } { <br /> } ...more text\n...some text <strong>加粗文本</strong>'
# 第一步:替换换行标签为换行符
result = re.sub(r'{?\s*<br\s*\/?>\s*}?', '\n', raw_content, flags=re.IGNORECASE)
# 第二步:移除所有其他HTML标签
result = re.sub(r'<.*?>', '', result, flags=re.IGNORECASE)
print(result)

注意事项

如果后端返回的是未转义的原生HTML标签(即直接是<br>、<strong>而非实体编码格式),只需要把正则里的&lt;替换为<、&gt;替换为>即可,替换逻辑不变。

内容的提问来源于stack exchange,提问作者Demian Sims

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 03:45:04