[英]Dynamically add class to img tag from entire HTML
我有一個豐富的編輯器,可以添加文本和圖像,使圖像具有響應性
class="img-thumbnail"
在所有圖像標簽中都需要,所以使用 HtmlAgility 包從整個 Html 中提取圖像標簽,但如何在每個圖像標簽上添加類。
例子
提取圖片標簽后從html輸入
<img src="http://domain.com/images/image1.jpg">
預期的
<img src="http://domain.com/images/image1.jpg" class="img-thumbnail">
代碼
public string ParseImage(string pHtml)
{
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(pHtml);
var imgs = doc.DocumentNode.SelectNodes("//img");
foreach (var item in imgs)
{
string orig = item.Attributes["src"].Value;
//Add class to each img tag.
}
}
我想問題在於您需要在顯示之前保存 HTML。 否則 HTML Agility Pack 有時會忽略更改的屬性。
public string ParseImage(string pHtml)
{
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(pHtml);
var imgs = doc.DocumentNode.SelectNodes("//img");
foreach (var item in imgs)
{
//string orig = item.Attributes["src"].Value;
item.SetAttributeValue("class", "img-thumbnail");
//Add class to each img tag.
}
using(StringWriter tw = new StringWriter ()){
doc.Save(tw);
return tw.ToString();
}
}
您可以像這樣在 css 中為所有圖像標簽添加屬性
.img-thumbnail
{
// your class property
}
img {
.img-thumbnail
}
這是一個類似的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.