Estoy tratando de escribir un complemento de resaltado, y me gustaría conservar el formato HTML. ¿Es posible ignorar todos los caracteres entre < y> en una cadena al hacer un reemplazo usando javascript?Reemplazar palabras en una cadena, pero ignorar HTML
Utilizando el siguiente ejemplo:
var string = "Lorem ipsum dolor span sit amet, consectetuer <span class='dolor'>dolor</span> adipiscing elit.";
Me gustaría ser capaz de lograr lo siguiente (reemplace 'dolor' con 'foo'):
var string = "Lorem ipsum FOO span sit amet, consectetuer <span class='dolor'>FOO</span> adipiscing elit.";
O quizás incluso este (reemplace 'periodo' con 'BAR'):
var string = "Lorem ipsum dolor BAR sit amet, consectetuer <span class='dolor'>dolor</span> adipiscing elit.";
que estuvo muy cerca de encontrar una respuesta dada por Tambler aquí: Can you ignore HTML in a string while doing a Replace with jQuery? pero, por alguna razón, simplemente no puedo lograr que funcione la respuesta aceptada.
Soy completamente nuevo en Regex, por lo que cualquier ayuda sería agradecida.
http://stackoverflow.com/questions/2289552/jquery-can-you-ignore-html- in-string-while-doing-a-replace – ggzone
Jon, tratando de analizar html con regex es notoriamente difícil. http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 – graphicdivine
Debe analizar el HTML y luego iterar recursivamente sobre cada nodo de texto. –