VUE---富文本提取纯文本

后台通过编辑器存储的富文本,需要在前端列表页等展示,需要从富文本中提取纯文本,具体方法:

思路:通过正则匹配出所有的中文,然后拼接起来。

方法可以参考使用过滤器:

filters:{
    filtersText(val){
        if (val != null && val != '') {
            let reg = /[\u4e00-\u9fa5]/g;
            let names = val.match(reg);
            val = names ? names.join('') : '';
            return val;
        } else return '';
    }
}

这样确实可以提取到没有带标签的纯文本,但是这样获取到的是没有任何标点符号的纯文本。

继续改造:

获取到标点的正则表达式:

var reg = /[\u4e00-\u9fa5]|[\u3002|\uff1f|\uff01|\uff0c|\u3001|\uff1b|\uff1a|\u201c|\u201d|\u2018|\u2019|\uff08|\uff09|\u300a|\u300b|\u3008|\u3009|\u3010|\u3011|\u300e|\u300f|\u300c|\u300d|\ufe43|\ufe44|\u3014|\u3015|\u2026|\u2014|\uff5e|\ufe4f|\uffe5]/g;
var reg = /[\u4e00-\u9fa5]|[\(\)\《\》\——\;\,\。\“\”\<\>\!]/g;

所以可以将上面的正则表达式改造成:

let reg = /[\u4e00-\u9fa5]|[\u3002|\uff1f|\uff01|\uff0c|\u3001|\uff1b|\uff1a|\u201c|\u201d|\u2018|\u2019|\uff08|\uff09|\u300a|\u300b|\u3008|\u3009|\u3010|\u3011|\u300e|\u300f|\u300c|\u300d|\ufe43|\ufe44|\u3014|\u3015|\u2026|\u2014|\uff5e|\ufe4f|\uffe5]/g;

或者是这样:

let reg = /[\u4e00-\u9fa5]|[\(\)\《\》\——\;\,\。\“\”\<\>\!]/g;

打完收工!

posted @ 2022-04-08 11:24  帅到要去报警  阅读(2781)  评论(0编辑  收藏  举报