微信小程序富文本去除首行缩进样式_如何去除富文本中的html标签及vue、react、微信小程序中的过滤器...

本文介绍了如何在微信小程序中去除富文本的HTML标签和首行缩进,以及在Vue和React中使用过滤器的方法。通过示例代码展示了在不同场景下处理和截取富文本内容的技巧,并提供了在微信小程序中创建WXS文件实现过滤器的示例。
摘要由CSDN通过智能技术生成

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

1.富文本去除html标签

去除html标签及 空格

let richtext = '

       sdaflsjf的丰富及饿哦塞尔

dsfjlie';

/* 去除富文本中的html标签 */

/* *、+限定符都是贪婪的,因为它们会尽可能多的匹配文字,只有在它们的后面加上一个?就可以实现非贪婪或最小匹配。*/

let content = richtext.replace(/<.>/g, '');

console.log(content);

/* 去除  */

content = content.replace(/ /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中添加就可以了,| 前面的是参数,后面的是过滤器 */

{{data.etime | localdata}}

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

新建.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

}

使用,用标签来引入,src为路径,module为引入的文件模块名

{{tool.filterscore(item.shop.score)}}分

直接在.wxml文件中用包裹

var some_msg = "hello world";

module.exports = {

msg : some_msg,

}

{{foo.msg}}

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;

};

/* 使用 */

总结

以上所述是小编给大家介绍的如何去除富文本中的html标签及vue、react、微信小程序中的过滤器,希望对大家有所帮助

希望与广大网友互动??

点此进行留言吧!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值