我有以下带有此 html 的字符串,我想知道如何从字符串中删除/过滤所有强标签及其文本?
html
<p>
<br>
2-3 spsk græsk yoghurt, gerne 10 %
<strong>Dressing: </strong>
<br>
1 lille spsk god mayonnaise
<br>
1-2 tsk æbleeddike
<br>
1-2 tsk honning
<br>
himalayasalt og friskkværnet hvid peber
<br>
</p>
到目前为止我已经有了这个,但似乎只有在顶部才删除强标签
var ingredientsArray = ingredients.split('<br>').map(it => it.trim()).filter(it => !!it && !it.startsWith('<strong>'));
最佳答案
您可以使用 DOM API 来实现此目的:
function stripStrong(html) {
var span = document.createElement('span');
span.innerHTML = html;
[...span.getElementsByTagName('strong')].reverse().forEach(
strong => strong.parentNode.removeChild(strong)
);
return span.innerHTML;
}
var html = `<p>
<br>
2-3 spsk græsk yoghurt, gerne 10 %
<strong>Dressing: </strong>
<br>
1 lille spsk god mayonnaise
<br>
1-2 tsk æbleeddike
<br>
1-2 tsk honning
<br>
himalayasalt og friskkværnet hvid peber
<br>
</p>`;
console.log(stripStrong(html));
请注意,如果 strong
标记具有属性、样式、与其他 strong
标记嵌套等,这也适用......正则表达式可能会遇到问题.
关于javascript - 从字符串中删除强标签及其内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39676853/