Añadir dinámicamente clase a etiqueta img desde HTML completo

asp.net c# html-agility-pack

Pregunta

Tengo un editor rico que agrega texto e imágenes, para hacer que las imágenes respondan

class="img-thumbnail"

Es necesario en todas las etiquetas de imagen, por lo que he usado el paquete HtmlAgility para extraer etiquetas de imagen de todo el HTML pero cómo agregar la clase en cada etiqueta de imagen.

Ejemplo

Entrada desde html después de extraer etiqueta de imagen

<img src="http://domain.com/images/image1.jpg">

Esperado

<img src="http://domain.com/images/image1.jpg" class="img-thumbnail">

Código

 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.
        }
      }

Respuesta aceptada

Supongo que el problema radica en que debe guardar el HTML antes de mostrarlo. De lo contrario, HTML Agility Pack a veces omite los atributos modificados.

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();
    }
 }

Respuesta popular

Puede agregar atributos a todas sus etiquetas de imagen en css como este

.img-thumbnail
{
  // your class property
}

img {
.img-thumbnail
}

Aquí hay una pregunta similar.

Quiero aplicar un estilo CSS existente a todas las etiquetas en una página. ¿Cómo?



Related

Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué