Tôi đang cố gắng viết một plugin nổi bật và muốn giữ lại định dạng HTML. Có thể bỏ qua tất cả các ký tự giữa < và> trong chuỗi khi thực hiện thay thế bằng javascript?Thay thế các từ trong một chuỗi, nhưng bỏ qua HTML
Sử dụng sau đây là một ví dụ:
var string = "Lorem ipsum dolor span sit amet, consectetuer <span class='dolor'>dolor</span> adipiscing elit.";
Tôi muốn để có thể đạt được như sau (thay thế 'dolor' với 'foo'):
var string = "Lorem ipsum FOO span sit amet, consectetuer <span class='dolor'>FOO</span> adipiscing elit.";
Hoặc có lẽ ngay cả điều này (thay thế 'span' bằng 'BAR'):
var string = "Lorem ipsum dolor BAR sit amet, consectetuer <span class='dolor'>dolor</span> adipiscing elit.";
Tôi đến rất gần để tìm câu trả lời được đưa ra bởi người đánh bạc ở đây: Can you ignore HTML in a string while doing a Replace with jQuery? nhưng, vì một lý do nào đó, tôi không thể nhận được câu trả lời được chấp nhận để làm việc.
Tôi hoàn toàn mới để regex, vì vậy bất kỳ trợ giúp nào cũng sẽ được đánh giá cao.
http://stackoverflow.com/questions/2289552/jquery-can-you-ignore-html- in-string-while-doing-a-replace – ggzone
Jon, cố gắng phân tích cú pháp html với regex nổi tiếng là khó khăn. http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 – graphicdivine
Bạn nên phân tích cú pháp HTML và sau đó lặp lại đệ quy trên mỗi nút văn bản. –