Tengo un código html y quiero cambiar el valor src en la etiqueta <img en el lado del servidor. Estaba usando la biblioteca node-html-parser . Aquí está mi código:
const root = HTMLParser.parse(templateContent); let base64Image = root.querySelector('img').rawAttributes.src; console.log('here'); root.getElementsByTagName('img')[0].rawAttributes.src.set_content('src="cid:image"'); console.log(root.toString()) process.exit() ...aquí está mi código html:
<p><img src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQIAJgAmAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAAgACADAREAAhEBAxEB/8QAGQABAQADAQAAAAAAAAAAAAAACAUDBgcJ/8QALBAAAgIBAgUCBQUBAAAAAAAAAQIDBAUAEQYHEiExE3EyQVGB0RciRmGUof/EABsBAAIDAQEBAAAAAAAAAAAAAAUIAAYHBAID/8QALxEAAgAFAQYEBQUAAAAAAAAAAQIAAwQFESEGEjFBUWETcZHRFBYiocFSU1SSsf/aAAwDAQACEQMRAD8A8sbt2e5bmnnmeaaRyzu7EliT5J1IkdF5L8DpxRdu3r0XrUay+mqP3DyN+BufuNCLhUmSoVDqf8jR9jbGlzmzKioXMtBjXgWPsNfMiOq5LlxhYsfYkjxNZpI42dVEYBJAJA0FSsmlgCxjUqjZ23JJdlp1yASNOggzU7s9O3DPBM8U0bhkkRiCpB8g6uMLNGLoaWfoRSzM2wUDuTv41CcamPSgsQANYUuOr0uUPLeNbrxx2YoGmZGOxmsMN+gfXvsvsNUhme4VP0cCfQQzdOlPsnZAJ5AYKSR+pzrgdddPIRewGVrZ3hmtPHciszS0w7mNu/X0fu7e++uWarSppUjGD+YOUNXKrqFJizAxKAnHXd1++YHSfGvvrQYUaNy5QUY8jzQwMEsQmU2S/Q3glVZh/wBAOhtycpSTGB5RbdkpKz75So4yN7OO4BI+4hTcZ8tcbxzQFW69mBfUEhetJ0sxG+wO4I277+PIGqHTV8ylbeTB84Zi77PUt6k+DPLKM5+k4J9cjHPhxinhOEcfw7iVx2PrJWrhOkhBsWO2xY/Unz76+E2qec/iOcmCNHa6e304paZN1cY056Yye5gecyeGavB3HmSw9NpWrVXQIZiC53RWO5AHzJ+WtHoZ7VNOs1+J94U3aO3SrTdJ1FIJKpjGeOqg9usRUkyPD2XaSFrGPyFaQgOhMckbdwe47j5663RZilXGQYBSJ82mmCdIYqw4EHBHkRFb9ROLT/I8v/sk/OuX4Gl/aX0EGPmC7/y5n9294U1LmhgzwnWjbMU5booRrKJLIDlzEN++/wAW+/3/AL1QXoJ/jkhDjJ5d4ZWTtLbzb0U1Cl9wZywznd158fz3gfQQW8pfijRJbNmV1VRsWZj4A1pQAAwIU1nZzvMcmP/Z"></p> <p>Hello Dear</p> <p>My name is Daren.</p> <p><br></p> Pero cuando ejecuto el código anterior, el resultado es simplemente imprimir here , y la siguiente línea no se ejecuta, ni siquiera el proceso. process.exit() .
¿Hay algún error que cometí? Solo quiero cambiar el valor src dentro de la etiqueta <img . Pídame más información si aún no es suficiente para resolverlo, gracias
Por un tiempo, encontré la solución. Pero estoy usando expresiones regulares para reemplazar el valor src dentro de la etiqueta <img . Es posible reemplazar esta solución con una sola imagen, cuando tiene varias etiquetas <img . Reemplazará todo el valor src dentro de la etiqueta <img .
... const re = /src=['"](?:[^"'\/]*\/)*([^'"]+)['"]/g; parsedTemplateContent = templateContent.replace(re,'src="cid:image"'); ...