作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在字符串变量中有 html 代码。因为我有多个图像标签,我想用新的 src 替换图像标签的 src。
我正在使用此代码:
foreach (MessagePart attchment in unseenMessage.FindAllAttachments())
{
attchments = Guid.NewGuid().ToString() + attchment.FileName;
string src="cid:"+ attchment.ContentId;
string newsrc = "/Attachment/" + attchments;
emailbody.Replace(src, newsrc);
string filepath = "D:\\AceoCRM\\Aceo.Web\\Attachment\\" + attchments;
using (FileStream fs = new FileStream(filepath, FileMode.CreateNew))
{
fs.Write(attchment.Body, 0, attchment.Body.Length);
fs.Close();
}
listOfAttachments.Add(attchments);
}
最佳答案
您可以使用 HtmlAgilityPack解析和替换标记内部 html 和图像源。
编辑:示例:替换 src
var documnet = new HtmlDocument();
documnet.LoadHtml("HtmlString");
foreach (var href in documnet.DocumentNode.Descendants("img").Where(href => !href.OuterHtml.Trim().Contains("http")))
{
try
{
//here image src URL being changed...
href.Attributes["src"].Value = href.Attributes["src"].Value.Trim().StartsWith("//") ? String.Format("http:{0}", href.Attributes["src"].Value.Trim()) : String.Format("{0}/{1}", baseUrl, href.Attributes["src"].Value.TrimFromStart("//"));
href.Attributes["srcset"].Value = href.Attributes["srcset"].Value.Trim().StartsWith("//") ? String.Format("http:{0}", href.Attributes["srcset"].Value.Trim()) : String.Format("{0}/{1}", baseUrl, href.Attributes["srcset"].Value.TrimFromStart("//"));
}
catch (NullReferenceException ex)
{
Log(ex);
}
}
关于c# - 如何对 html 字符串使用 String.Replace 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31911716/
我是一名优秀的程序员,十分优秀!