resolveImagesInHtml method

String resolveImagesInHtml(
  1. String html
)

Implementation

String resolveImagesInHtml(String html) {
  return html.replaceAllMapped(
    RegExp(r'''src\s*=\s*["']([^"']+)["']'''),
    (match) {
      final src = match.group(1)!;
      if (src.startsWith('data:')) return match.group(0)!;
      final bytes = resolveImage(src);
      if (bytes != null) {
        final mimeType = _getMimeType(src);
        final base64Str = base64Encode(bytes);
        return 'src="data:$mimeType;base64,$base64Str"';
      }
      return match.group(0)!;
    },
  );
}