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

咨询Flutter中将文本转换为HTML的实现方法

Flutter 文本转HTML实现方法

如果只是简单把普通文本转换成带HTML标签的内容(比如给文本包裹<p>标签),直接手动拼接字符串+转义特殊字符就够了:

基础实现示例

String textToHtml(String rawText) {
  // 转义HTML特殊字符,避免语法错误
  String escapedText = rawText
      .replaceAll('&', '&amp;')
      .replaceAll('<', '&lt;')
      .replaceAll('>', '&gt;')
      .replaceAll('"', '&quot;')
      .replaceAll("'", '&#39;');
  
  // 包裹段落标签
  return '<p>$escapedText</p>';
}

// 调用示例
void main() {
  String originalText = '"This is a client message."';
  String htmlResult = textToHtml(originalText);
  print(htmlResult); 
  // 输出: <p>&quot;This is a client message.&quot;</p>
}

处理复杂富文本场景

如果需要处理带格式的文本(比如加粗、斜体、换行),可以用markdown包简化流程:

  1. 在pubspec.yaml添加依赖:
dependencies:
  markdown: ^7.1.1
  1. 实现转换逻辑:
import 'package:markdown/markdown.dart';

String richTextToHtml(String formattedText) {
  // 把符合Markdown规则的文本转成HTML
  return markdownToHtml(formattedText);
}

// 调用示例
void main() {
  String richText = '**这是加粗文本**,*这是斜体文本*\n这是新的一行';
  String htmlResult = richTextToHtml(richText);
  print(htmlResult);
  // 输出: <p><strong>这是加粗文本</strong>,<em>这是斜体文本</em><br>这是新的一行</p>
}

如果你的文本是自定义格式(非Markdown),可以自己解析文本中的格式标记,再对应拼接HTML标签,比如识别特定符号替换成<strong>、<em>等标签。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 18:09:25