전체 HTML에서 img 태그에 동적으로 클래스 추가

asp.net c# html-agility-pack

문제

텍스트와 이미지를 추가하는 풍부한 편집기가있어서 이미지를 반응 적으로 만들 수 있습니다.

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 민첩성 팩은 때때로 변경된 속성을 생략합니다.

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
}

여기 비슷한 질문이 있습니다.

페이지의 모든 레이블에 기존 CSS 스타일을 적용하고 싶습니다. 방법?



아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.