将html里面的img标签拼上全路径

来源:转载

很久很久以前。公司在开发邮件发送的功能突然发现。富文本编辑器中的图片无法在邮件中显示出来。F12一看,原来图片的src是相对路径,并不是全路径。所以需要程序将html中的img标签中的src拼上域名。以便图片显示出来。说了这么多。直接上代码。代码已经封装了。可以直接写成静态方法调用。一句话完美

 /// <summary> /// 替换图片地址URL。 /// </summary> /// <param name="sHtmlText">HTML代码</param> /// <returns></returns> private string GetHtmlImageUrlList(string sHtmlText, string url) { // 定义正则表达式用来匹配 img 标签 Regex regImg = new Regex(@"<img/b[^<>]*?/bsrc[/s/t/r/n]*=[/s/t/r/n]*[""']?[/s/t/r/n]*(?<imgUrl>[^/s/t/r/n""'<>]*)[^<>]*?/?[/s/t/r/n]*>", RegexOptions.IgnoreCase); // 搜索匹配的字符串 MatchCollection matches = regImg.Matches(sHtmlText); int i = 0; string[] sUrlList = new string[matches.Count]; // 取得匹配项列表 foreach (Match match in matches) sUrlList[i++] = match.Groups["imgUrl"].Value; for (int j = 0; j < sUrlList.Length; j++) { //遍历不含http、https和ueditor中的src地址 if (!(sUrlList[j].Contains("libs/ueditor/themes")) && !(sUrlList[j].Contains("https://") || sUrlList[j].Contains("http://"))) sHtmlText = sHtmlText.Replace(sUrlList[j], url + sUrlList[j].Substring(1)); } return sHtmlText; }


分享给朋友:
您可能感兴趣的文章:
随机阅读: