用正则表达式替换html标签
下面的代码用于修改html文本中的img标记,修改后的html适用于lazyload方式的图片加载:
protected string LazyPicProcess(string content) { Regex re = new Regex("<\\s*img[\\s\\S]*?(?<src>src[\\s]*=[\\s]*[\"|\'](?<pic>[\\s\\S]*?)[\"|\'])[\\s\\S]*?>", RegexOptions. IgnoreCase); string str = re.Replace(content, new MatchEvaluator(ImgSrcReplace)); return str; } public static string ImgSrcReplace(Match match) { string newtext = string.Empty; if (match.Groups.Count > 2) { string img = match.Groups[0].Value; string src = match.Groups["src"].Value; string pic = match.Groups["pic"].Value; newtext = img.Replace(src, "src=\"images/grey.gif\" data-img=\"" + pic + "\" isload=\"false\""); return newtext; } else { return match.Groups[0].Value; }
}
关于延迟加载图片参考博文:
JS图片延迟加载分析及简单的demo
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步