De javascript, dado este texto de varias líneas (almacenado en una variable):
+++ diagramme graph TD A[fooA] ==> B[fooB] style A color:blue B --> C[(<img src="https://c7.alamy.com/compfr/jcdcx7/image-d-icone-de-soleil-jcdcx7.jpg" width="50">)] C --> D[fooD] B --> D click D "https://fii.com" _blank +++Estoy buscando una manera de reemplazar todo " por el char ' dentro de la etiqueta img. En la etiqueta img, la cantidad de atributos puede variar.
En mi ejemplo, el resultado esperado es:
+++ diagramme graph TD A[fooA] ==> B[fooB] style A color:blue B --> C[(<img src='https://c7.alamy.com/compfr/jcdcx7/image-d-icone-de-soleil-jcdcx7.jpg' width='50'>)] C --> D[fooD] B --> D click D "https://fii.com" _blank +++Sé cómo usar expresiones regulares (¡gracias a un sitio web increíble como https://regex101.com/ !), así que puedo capturar la etiqueta img con este patrón simple /(<img)(.*)(>)/g . Pero no sé cómo puedo reemplazar todas las apariciones de un carácter específico (aquí ") por otro (aquí ') en una subcadena obtenida a través de una expresión regular.
editar: la posición y el número de las etiquetas img pueden variar en la estructura '+++ diagrama ... +++'. Debajo de otro ejemplo:
+++ diagramme graph TD A[fooA] ==> B[(<img src="https://fuu/image1.jpg" width="50">)] B --> C[fooC] click B "https://faa.com" _blank C --> D[(<img src="https://fuu/image2.jpg">)] +++y el resultado esperado:
+++ diagramme graph TD A[fooA] ==> B[(<img src='https://fuu/image1.jpg' width='50'>)] B --> C[fooC] click B "https://faa.com" _blank C --> D[(<img src='https://fuu/image2.jpg'>)] +++Gracias por cualquier ayuda :)
Utilice una función de devolución de llamada:
const test = `+++ diagramme graph TD A[fooA] ==> B[fooB] style A color:blue B --> C[(<img src="https://c7.alamy.com/compfr/jcdcx7/image-d-icone-de-soleil-jcdcx7.jpg" width="50">)] C --> D[fooD] B --> D click D "https://fii.com" _blank +++` console.log(test.replace(/<img[^>]*>/g, (x) => x.replace(/"/g, "'") ))Tu puedes hacer:
" con ' en todos los resultados coincidentes