我有一个输入字符串,我需要将字符串中的所有标签替换为空格,它可以正常工作。但是我不想选择“ title”属性内的标签。
这是我的输入字符串
var temp='<div title="Minimum Standards for <mark>Child</mark> Protection in Humanitarian Action (CPMS) | content of" >
<mark>Child</mark>
</div>';
这是我用来替换字符串的正则表达式代码。
temp = String(temp).replace(/(<mark[^>]*>|<\/mark>)/g, '');
[我只需要匹配“ title”属性之外的标记标签,或者我只想忽略“ title”属性内部的标记标签,我需要一个正则表达式来表示感谢。
一种选择是将HTML标记解析为文档,然后用mark
选择所有querySelectorAll
标签并删除它们:
const str = `<div title="Minimum Standards for <mark>Child</mark> Protection in Humanitarian Action (CPMS) | content of" >
<mark>Child</mark>
</div>`;
const doc = new DOMParser().parseFromString(str, 'text/html');
doc.body.querySelectorAll('mark').forEach(mark => mark.remove());
console.log(doc.body.innerHTML);