javascript - 使用正则表达式将中断标签替换为其他一组中断标签

标签 javascript html regex

我想知道 JavaScript 中是否有一种方法可以替代

<br><br /> 

仅包含

的标签
<br /> 

使用正则表达式在字符串中标记?

而不是

"Hello world."<br><br />"The light is bright."<br><br />

我想要类似的东西

"Hello world."<br />"The light is bright."<br />

最佳答案

为此使用 dom 是最有效的方法。 dom 是比正则表达式更好的 html 解析器

const str =  "Hello world.<br><br />The light is bright.<br><br />"

const div = document.createElement('div');
div.innerHTML = str;

const brs = div.getElementsByTagName('br');

for(let i = brs.length-1; i>=0; i--){
   var el = brs[i],
   prevSib = el.previousSibling;
   if(prevSib.tagName ==='BR'){
       el.remove()
   }  
}

console.log(div.innerHTML);

关于javascript - 使用正则表达式将中断标签替换为其他一组中断标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55653782/

相关文章:

javascript - 侧面菜单未覆盖所有屏幕(DrawerNavigator - React Native)

javascript - 如何在 HTML 中对齐搜索栏和搜索按钮?

html - 使用显示 : table-cell 时 Div 未居中

python - 正则表达式 替换多个单词,用它们构建列表

Java-正则表达式 : Several matches in same string

javascript - 将数据传递到 AngularJS 图表中的 $scope

javascript - AngularJS:使用 $broadcast 隐藏表列

javascript - 使此关键字引用实例而不是窗口对象

html - 如何在单个 div 内获得具有半径的不同颜色?

javascript - 除了句子的第一个单词之外的每个单词的 RegExp