我需要一些帮助
我的innerHTML
div
<div class="class-1">
<div class="class-1">
<div class="class-bla-bla class-find">Replace this div</div>
<div class="class-another">Hello World!</div>
</div>
<div class="class-2">
<div class="class-2 class-find">Replace this div</div>
<div class="class-no-replace">No replace</div>
</div>
<div class="class-somthing class-find">Replace this div</div>
</div>
我希望使用正则表达式来查找和替换所有元素class name class-find
并将innerHTML字符串存储到数据库而不更改实际的HTML DOM,我试图找到解决方案,但我找不到任何好的答案我的情况,请帮我解决这个问题。
注意:我找到了一些示例正则表达式https://www.regextester.com/93456,这只适用于元素只有一个不是多个的类。
答案 0 :(得分:1)
因为正则表达式不是要解析HTML。您可以使用DOMParser
API来实现此目的。
let d = new DOMParser();
let s = `<div class="class-1">
<div class="class-1">
<div class="class-bla-bla class-find">Replace this div</div>
<div class="class-another">Hello World!</div>
</div>
<div class="class-2">
<div class="class-2 class-find">Replace this div</div>
<div class="class-no-replace">No replace</div>
</div>
<div class="class-somthing class-find">Replace this div</div>
</div>`;
let doc = d.parseFromString(s, 'text/html');
let divs = doc.querySelectorAll('.class-find');
let html = [];
divs = divs.forEach(e => {
html.push(e.innerHTML);
});
console.log(html);
&#13;