• 5月份61城房价环比反弹 多地调控政策或再加码 ——凤凰网房产武汉 2019-03-23
  • 普法小课堂之“有效遗嘱” 2019-03-23
  • 回复@看着就想笑:同时,市场不具有配置全局性长期性战略性资源的功能。 2019-03-22
  • 楼市下半年或持续降温 房地产长效机制加速推进 2019-03-17
  • 北京市北京睿通伟业综合店【在线咨询】 2018-11-26
  • 10年后 逍客仍是15万级合资SUV的定义者 2018-11-26
  • 还有十八掌、自然想钱系列马甲…… 2018-11-26
  • 用户
     找回密码
     立即注册

    QQ登录

    只需一步,快速开始

    扫一扫,登录网站

    小程序社区 首页 教程 查看内容

    广东11选5总和双2.2:去除富文本中的html标签及vue、react、微信小程序中的过滤器

    河北体彩11选5今天开奖 www.7vek.com Rolan 2018-11-21 00:38

    在获取富文本后,又只要显示部分内容,需要去除富文本标签,然后再截取其中一部分内容;然后就是过滤器,在微信小程序中使用还是挺多次的,在vue及react中也遇到过 ...

    1.富文本去除html标签

    • 去除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, '');
    console.log(content);
    
    /* 去除空格 */
    content = content.replace(/\s/ig, '');
    console.log(content);
    • 截取字符串
    content = formatRichText(content);
    console.log(content);
    
    /* 使用substring来截取字符串 */
    if (content.length > 10) {
        content = content.substring(0, 10) + '...';
    }
    console.log(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.substring(0, temporaryText.length - 1) + "...";
                }
            } else {
                strLength = strLength + 1;
                if (strLength >= len) {
                    return temporaryText.substring(0, temporaryText.length - 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 < 10 ? '0' + Day + '日' : Day + '日';
            let hours = date.getHours();
            let minutes = date.getMinutes();
            let hour = hours < 10 ? '0' + hours + ':' : hours + ':';
            let minute = minutes < 10 ? '0' + minutes : minutes;
            return Y + M + D + ' ' + hour + minute;
        }
    }
    
    /* 使用,直接在div中添加就可以了,| 前面的是参数,后面的是过滤器 */
    <div class="time">{{data.etime | localData}}</div>

    3.微信河北体彩11选5今天开奖中使用过滤器

    • 新建.wxs文件
    var localData = function (value) {
        var date = getDate(value * 1000);
        var Month = date.getMonth() + 1;
        var Day = date.getDate();
        var hours = date.getHours(); //计算剩余的小时
        var minutes = date.getMinutes(); //计算剩余的分钟
        var Y = date.getFullYear() + '-';
        var M = Month < 10 ? '0' + Month + '-' : Month + '-';
        var D = Day + 1 < 10 ? '0' + Day + '' : Day + '';
        var H = hours < 10 ? '0' + hours + ':' : hours + ':'
        var m = minutes < 10 ? '0' + minutes : minutes;
        return Y+M + D + "   " + H + m;
    }
    module.exports = {
        localData: localData
    }
    • 使用,用<wxs />标签来引入,src为路径,module为引入的文件??槊?/li>
    <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中使用

    • react中使用,其实就是定义一个方法
    import noBanner from '@/assets/storeDetail/no-banner.jpg'
    const 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="" />
    正在努力学习中,若对你的学习有帮助,留下你的印记呗(点个赞咯^_^)
    分享至 : QQ空间
    收藏
    原作者: ZJW0215 来自: segmentfault
  • 5月份61城房价环比反弹 多地调控政策或再加码 ——凤凰网房产武汉 2019-03-23
  • 普法小课堂之“有效遗嘱” 2019-03-23
  • 回复@看着就想笑:同时,市场不具有配置全局性长期性战略性资源的功能。 2019-03-22
  • 楼市下半年或持续降温 房地产长效机制加速推进 2019-03-17
  • 北京市北京睿通伟业综合店【在线咨询】 2018-11-26
  • 10年后 逍客仍是15万级合资SUV的定义者 2018-11-26
  • 还有十八掌、自然想钱系列马甲…… 2018-11-26