利用正则表达式去除所有html标签,只保留文字

时间:2024-07-11 17:04:50

后台将富文本编辑器中的内容返回到前端时如果带上了标签,这时就可以利用这种方法只保留文字。

标签的格式有以下几种

1.<div class="test"></div>

2.<img />

3.自定义标签<My-Tag></My-Tag>

针对以上几种标签,确定的正则的规则是 reg=/<\/?.+?\/?>/g

<表示尖括号

第一个\/?表示</div>这种标签的情况

.+?表示将中间所有内容替代掉

第二个\/?表示<img/>这种情况

/g表示全局替换

代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>去除所有标签</title>
</head>
<script>
function matchReg(str){
let reg=/<\/?.+?\/?>/g;
console.log(str.replace(reg,''));
}
matchReg(`<p>去除所有html标签,<img/><My-Tag class="abc" value="test">自定义标签也可以去除哦</My-Tag></p>`);
</script>
<body>
</body>
</html>