微信小程序使用wxParse解析html的实现示例

最近项目上遇到在微信小程序里需要显示新闻内容,新闻内容是通过接口读取的服务器中的富文本内容,是html格式的,小程序认是不支持html格式的内容显示的,那我们需要显示html内容的时候,就可以通过wxParse来实现。

首先我们在github上下载wxParse

https://github.com/icindy/wxParse

下载完之后我们需要用到目录下的wxParse文件夹,把他拷贝到我们的项目目录下  

下面是具体的使用步骤

1.在app.wxss全局样式文件中,需要引入wxParse的样式表

rush:js;"> @import "/page/wxParse/wxParse.wxss";

2.在需要加载html内容页面对应的js文件里引入wxParse

rush:js;"> var WxParse = require('../../wxParse/wxParse.js');

3.通过调用WxParse.wxParse方法来设置html内容

rush:js;"> /** * WxParse.wxParse(bindName,type,data,target,imagePadding) * 1.bindName绑定的数据名(必填) * 2.type可以为html或者md(必填) * 3.data为传入的具体数据(必填) * 4.target为Page对象,一般为this(必填) * 5.imagePadding为当图片自适应是左右的单一padding(认为0,可选) */

Page({
data: {
},onLoad: function () {
var that = this;
wx.request({
url: '',method: 'POST',data: {
'id':13
},header: {
'content-type': 'application/json'
},success: function(res) {
var article = res.data[0].post;
WxParse.wxParse('article','html',article,that,5);
}
})
}
})

4.在页面中引用模板

rush:js;">

这样就可以在微信小程序中嵌入html内容

wxParse多数据循环使用方法

方法介绍

rush:js;"> /** * WxParse.wxParseTemArray(temArrayName,bindNameReg,total,that) * 1.temArrayName: 为你调用时的数组名称 * 3.bindNameReg为循环的共同体 如绑定为reply1,reply2...则bindNameReg = 'reply' * 3.total为reply的个数 */ var that = this; WxParse.wxParseTemArray("replyTemArray",'reply',replyArr.length,that)

使用方式

循环绑定数据

rush:js;"> var replyHtml0 = `
回复0:不错,喜欢[03][04]

`; var replyHtml1 = `
回复1:不错,喜欢[03][04]

`; var replyHtml2 = `
回复2:不错,喜欢[05][07]

`; var replyHtml3 = `
回复3:不错,喜欢[06][08]

`; var replyHtml4 = `
回复4:不错,喜欢[09][08]

`; var replyHtml5 = `
回复5:不错,喜欢[07][08]

`;

var replyArr = [];
replyArr.push(replyHtml0);
replyArr.push(replyHtml1);
replyArr.push(replyHtml2);
replyArr.push(replyHtml3);
replyArr.push(replyHtml4);
replyArr.push(replyHtml5);
for (let i = 0; i < replyArr.length; i++) {
WxParse.wxParse('reply' + i,replyArr[i],that);
if (i === replyArr.length - 1) {
WxParse.wxParseTemArray("replyTemArray",that)
}
}

模版使用

rush:xml;"> 回复{{index}}: