微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

去除富文本中的html标签及vue、react、微信小程序中的过滤器

1.富文本去除html标签

let richText = ' <p style="font-size: 25px;color: white">&nbsp; &nbsp; &nbsp; &nbsp;sdaflsjf的丰富及饿哦塞尔</p><span>dsfjlie</span>';

/* 去除富文本中的html标签 */
/* *、+限定符都是贪婪的,因为它们会尽可能多的匹配文字,只有在它们的后面加上一个?就可以实现非贪婪或最小匹配。*/
let content = richText.replace(/<.+?>/g,'');
console.log(content);

/* 去除&nbsp; */
content = content.replace(/&nbsp;/ig,136);">/* 去除空格 */
content.replace(/\s/ig,179);">content);
/* 限制字数后添加省略号 */
function formatRichText(richText) {
    let temporaryText = '';
    /* 设置多长后添加省略号 */
    const len = 142;
    if (richText.length * 2 <= len) {
        return richText;
    }
    /* 用于记录文字内容的总长度 */
    let strLength = 0;
    for (let i = 0; i < richText.length; i++) {
        temporaryText = temporaryText + richText.charat(i);
        /* charCodeAt()返回指定位置的字符的Unicode编码,值为128以下时一个字符占一位,当值在128以上是一个字符占两位 */
        if (richText.charCodeAt(i) > 128) {
            strLength = strLength + 2;
            if (strLength >= len) {
                return temporaryText.Box-sizing: border-Box; color: rgb(0,temporaryText.length - 1) + "...";
            }
        } else {
            strLength = strLength + 1;
            if (strLength >= len) {
                2) + "...";
            }
        }
    }
    return temporaryText;
}

2.vue中使用过滤器

filters: {
    localData(value) {
        let date = new Date(value * 1000);
        let Month = date.getMonth() + 1;
        let Day = date.getDate();
        let Y = date.getFullYear() + '年';
        let M = Month < 10 ? '0' + Month + '月' : Month + '月';
        let D = Day + 1 < '0' + Day + '日' : Day + '日';
        let hours = date.getHours();
        let minutes = date.getMinutes();
        let hour = hours < '0' + hours + ':' : hours + ':';
        let minute = minutes < '0' + minutes : minutes;
        return Y + M + D + ' ' + hour + minute;
    }
}

/* 使用,直接在div中添加就可以了,| 前面的是参数,后面的是过滤器 */
<div class="time">{{data.etime | localData}}</div>

3.微信小程序中使用过滤器

;
    var M = Month < '-' : Month + var D = Day + '' : Day + '';
    var H = hours < ':'
    var m = minutes < '0' + minutes : minutes;
    return Y+M + D + "   " + H + m;
}
module.exports = {
    localData: localData
}
  • 使用,用<wxs />标签来引入,src为路径,module为引入的文件模块名
<wxs src="./filters.wxs" module="tool" />
<text class="scoreText">{{tool.filterscore(item.shop.score)}}分</text>
  • 直接在.wxml文件中用<wxs></wxs>包裹
<wxs module="foo">
var some_msg = "hello world";
module.exports = {
    msg : some_msg,}
</wxs>
<view> {{foo.msg}} </view>

4.react中使用

filterImg = item => {
    let bgImg;
    if (item.shopimages == null) {
        bgImg = noBanner;
    } else {
        bgImg = item.shopimages[0];
    }
    return bgImg;
};
/* 使用 */  
<img src={filterImg(storeitem)} className={style.topImg} alt="" />
正在努力学习中,若对你的学习有帮助,留下你的印记呗(点个赞咯^_^)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。