//用于 flutter_html处理类似 '' 标签时渲染不出来,只要是由于 style 属性中有 width 或者 height属性 导致 class RichtextUtils { static String getHandleResult(String description) { if (description ==null || description.isEmpty) { return ''; } String descriptionStr = description.replaceAllMapped( RegExp(r']*?)style="([^"]*?)"([^>]*)>'), (match) { // 获取原始的 标签部分 String imgTag = match.group(0)!; // 获取 style 属性的内容 String style = match.group(2)!; // 移除 style 中的 width 和 height String newStyle = style.replaceAll(RegExp(r'\s*width:\s*\d+%;?'), '').replaceAll(RegExp(r'\s*height:\s*\d+%;?'), '').trim(); // 如果 style 为空,则移除整个 style 属性 if (newStyle.isEmpty) { imgTag = imgTag.replaceAll(RegExp(r'\s+style="[^"]*?"'), ''); } else { imgTag = imgTag.replaceAll(RegExp(r'style="[^"]*?"'), 'style="$newStyle"'); } return imgTag; }, ); return descriptionStr; } }