gpt4 book ai didi

javascript - 正则表达式排除某些标签

转载 作者:行者123 更新时间:2023-11-28 17:31:18 26 4
gpt4 key购买 nike

我正在清理由所见即所得创建的输出,它不是插入中断,而是简单地创建一个空的 p 标签,但有时会创建其他不需要的空标签。

我有一个正则表达式来删除所有空标签,但我想从中排除空 p 标签。我该怎么做?

let s = "<h1>test</h1><h1></h1><p>a</p><p></p><h2></h2>";

s = s.trim().replace( /<(\w*)\s*[^\/>]*>\s*<\/\1>/g, '' )

console.log(s)

最佳答案

为了安全起见,您可以使用 DOMParser

let s = "<h1>test</h1><h1></h1><p>a</p><p></p><h2></h2>";

const parser = new DOMParser();
const doc = parser.parseFromString(s, 'text/html');
const elems = doc.body.querySelectorAll('*');

[...elems].forEach(el => {
if (el.textContent === '' && el.tagName !== 'P') {
el.remove();
}
});

console.log(doc.body.innerHTML);

关于javascript - 正则表达式排除某些标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50365492/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com