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

Flutter技术问题:如何移除文本中的HTML标签并展示纯文本?

移除HTML标签展示纯文本的两种方法

方法一:正则表达式快速处理(适合简单HTML结构)

直接用正则匹配所有HTML标签并替换为空字符串,代码修改如下:

Text(
  productController.privacypolicy.value.data!.shop!.privacyPolicy!.body.toString()
      .replaceAll(RegExp(r'<[^>]*>'), ''),
  style: GoogleFonts.poppins(
    color: Color(0xff1b1b1b),
    fontWeight: FontWeight.w400,
    fontSize: 16,
    letterSpacing: 0.5
  ),
),

这个方法适合结构简单的HTML,比如只有<strong>、<p>这类基础标签的场景。

方法二:使用html包处理复杂HTML(更可靠)

如果HTML结构复杂(比如嵌套标签、特殊字符),推荐用官方维护的html包来解析提取纯文本:

  1. 先在pubspec.yaml里添加依赖:
dependencies:
  html: ^0.15.4 # 可替换为最新版本
  1. 导入包并修改代码:
import 'package:html/parser.dart' show parse;

// ... 其他代码

final htmlContent = productController.privacypolicy.value.data!.shop!.privacyPolicy!.body.toString();
final document = parse(htmlContent);
final plainText = document.body!.text;

Text(
  plainText,
  style: GoogleFonts.poppins(
    color: Color(0xff1b1b1b),
    fontWeight: FontWeight.w400,
    fontSize: 16,
    letterSpacing: 0.5
  ),
),

这个方法能更精准地处理各种HTML结构,避免正则可能出现的遗漏或误匹配问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 15:49:58