利用正規表示式去除所有html標籤,只保留文字

Alphabet。發表於2018-07-02

後臺將富文字編輯器中的內容返回到前端時如果帶上了標籤,這時就可以利用這種方法只保留文字。
標籤的格式有以下幾種
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>

相關文章