小程序解析html之富文本插件wxParse
近期,开发小程序时,遇到后台给我返回了一串html代码,需要我这边来解析,头疼了好久,网上找资料找了变天,终于找到wxParse,然而看到的都是针对于页面中有单个html或者固定数据的,我现在的问题是,后台给我返回许多条数据,每一条数据中都有一串html代码需要解析。
说到这儿,就先来说说wxParse的基本用法吧。
首先引入必要的文件。
(1)、在需要用到wxParse的js文件中引入wxParse.js文件、
let wxParse = require("../../wxParse/wxParse.js");
(2)、在.wxss文件中引入wxParse.wxss文件。
@import "../../wxParse/wxParse.wxss";
假如现在有这样一个例子,const article = '<span align="center">抢<font color="red">7</font>元券后,入耳式耳机只要<font color="red">5.6</font>元!!安卓手机都通用的~</span>'
那么在相应的js文件中就可以这样写
wxParse.wxParse('article', 'html', atricle, this,0)
(3)、还没完,还得在相应的.wxml文件中引入wxParse.wxml模板文件。用法如下:
<import src="../../wxParse/wxParse.wxml"></import> // 在需要用到富文本解析的地方使用如下,此处data中的article为绑定的数据名
<template is="wxParse" data="{{wxParseData:article.nodes}}"></template>
此处盗用一张图。

现在,回到博文开头说的问题,如何解析多条html代码,这时候可能需要用到wxParse插件中的另一个文件,即html2json.js文件。
将上面的第一步换成如下:
let wxParse = require("../../wxParse/html2json.js");
例如现在有这样一组数据:
let goods_list = [
{
"reward_price": 0.35,
"self_reward_price": 0.52,
"dto_desc": "我来推荐",
"mall_des": "<p>进店铺领<font color=\"red\">5</font>元,无门槛</p>"
}, {
"reward_price": 0.35,
"self_reward_price": 0.52,
"dto_desc": "我来推荐",
"mall_des": "<p>进店铺领<font color=\"red\">5</font>元,无门槛</p>"
}, {
"reward_price": 0.35,
"self_reward_price": 0.52,
"dto_desc": "我来推荐",
"mall_des": "<p>进店铺领<font color=\"red\">5</font>元,无门槛</p>"
}
]
这里我的做法是,先初始化一个空数组arr,用来存放后面需要解析的富文本。具体做法是:
let malldes_list = []
let curPage = this.data.pageNum - 1 // pageNum表示当前页码,从1开始。每次获取完数据不要忘了将pageNum + 1
goods_list.forEach(function (item, index) {
malldes_list[index] = wxParse.html2json(item.mall_des, 'returnData')
}) this.setData({
['mallDesList[' + curPage + ']']: malldes_list,
['productList[' + curPage + ']']: goods_list,
pageNum: this.data.pageNum + 1
})
现在上面的第3条就可以这样来写:
// 列表页也涉及到分页,使用的二维数组。所以需要使用wx:for嵌套,在需要用到富文本解析的地方用上template模板。
<block wx:for="{{productList}}" wx:for-item="arrItem" wx:for-index="arrIndex" wx:key="arrIndex">
<block wx:for="{{arrItem}}" wx:for-item="item" wx:for-index="index" wx:key="item.goods_id">
<template is="wxParse" data="{{wxParseData:mallDesList[arrIndex][index].nodes}}"></template>
</block>
</block>
啰嗦了半天,搞定了。
最后,发下我的wxParse包含了那些文件:

附上官网:https://github.com/icindy/wxParse
小程序解析html之富文本插件wxParse的更多相关文章
- 三十、小程序解析HTML(对富文本返回数据的处理)
1.首先需要下载插件wxParse 下载地址 https://github.com/ZCLegendary/WXNews 百度云盘有保存 WXML <import src="../.. ...
- 微信小程序中显示html富文本的方法
微信小程序中显示html富文本的方法 使用方法:git地址:https://github.com/icindy/wxParse 一.下载wxParse文件 二.在要引入的页面的js文件中,引入文件 j ...
- 微信小程序 —— 微信小程序解析html富文本插件wxParse
下载并把wxParse放到小程序的目录中 github下载地址:https://github.com/icindy/wxParse 一.基本使用方法 1. Copy文件夹wxParse,把wxPars ...
- 微信小程序开发--富文本插件wxParse的使用
昨天一位网友问我小程序怎么解析富文本.他尝试过把html转出小程序的组件,但是还是不成功,我说可以把内容剥离出来.但是这两种方法都是不行了.后来找到了wxParse-微信小程序富文本解析组件. 特性 ...
- 小程序快速部署富文本插件wxParser
为了解决html2wxml在ios下字体过大问题,又发现一个比较好用的富文本插件:wxParser. 目前 wxParser 支持对一般的富文本内容包括标题.字体大小.对齐和列表等进行解析.同时也支持 ...
- 微信小程序之底部弹框预约插件
代码地址如下:http://www.demodashi.com/demo/13982.html 一.前期准备工作: 软件环境:微信开发者工具 官方下载地址:https://mp.weixin.qq.c ...
- wxparse使用(富文本插件)
优点:目前已知唯一可以转化HTML到小程序识别的插件 缺点:转换一个HTML标签可能需要大量的微信小程序标签还有样式 配置:第一步,下载 https://github.com/icindy/wxPar ...
- 【富文本、JS】将接口传来的全部纯URL替换为富文本插件能识别到的img标签
replaceURLWithImage (text) { var a = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0 ...
- 微信小程序template富文本插件image宽度被js强制设置
这段时间一直做微信小程序,过程中遇到了一个问题,这个问题一直没有得到完美的解决. 问题描述: 在Web编程中经常会引入template插件,这个插件是封装好,我们通常的做法是直接引入,配置简单,好用, ...
随机推荐
- Finance公式说明
公式说明 代码 说明 Y 期末余额 JY 期末借方余额 DY 期末贷方余额 C 期初余额 JC 期初借方余额 DC 期初贷方余额 SY 本期实际发生额 SL 利润表本年实际发生额 SY 期末余额 SJ ...
- css firefox火狐浏览器下的兼容性问题
1.DOCTYPE 影响 CSS 处理 2.FF: div 设置 margin-left, margin-right 为 auto 时已经居中, IE 不行 3.FF: body 设置 text-al ...
- OO第5-7次作业总结
前三次作业可以说是入门编程,随着课程的深入,这三次多线程作业使我们开始慢慢接触工程性的编程任务. 对比起1-3次作业,5-7次作业明显没有那么顺利了,之前在互测环节每次最多就一个BUG或者没有BUG, ...
- 基于百词斩和扇贝单词的背单词APP软件测试
概述 背单词APP是非常受大学生青睐的手机应用,但它的发展尚未成熟,存在一些缺陷.我们决定深入地分析一组典型的背单词APP:百词斩(A产品).扇贝单词(B产品),寻找当前背单词APP中的提升空间.下面 ...
- python 调用shell hive sql
def generate_csv_source(data_file): #判断文件是否存在 if not os.path.exists(data_file): # 拉取hive表数据 cmd_sql ...
- About certificate
证书spec, X509, 类似规定了一个目录结构.其中重要内容包括 issuer: who isued this certificate subject: the ID of this certif ...
- T-3-java核心API-基础类
一.API 现成的类(程序) Java API是java(Oracle)提供的系统标准API. 第三方的jar包API,如:JUnit.jar. 可以自己开发一些API. 一般情况下任何技术都有现成的 ...
- Fiddler功能介绍之Web抓包、远程抓包教程【转载】
一.fiddler简介 简单来说,Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯.网上简介很多,我们不多说. 二.fiddler版本 fiddle ...
- 浅谈React数据流管理
引言:为什么数据流管理如此重要?react的核心思想就是:UI=render(data),data就是我们说的数据流,render是react提供的纯函数,所以用户界面的展示完全取决于数据层.这篇文章 ...
- CodeForces 935E Fafa and Ancient Mathematics (树形DP)
题意:给定一个表达式,然后让你添加 n 个加号,m 个减号,使得表达式的值最大. 析:首先先要建立一个表达式树,这个应该很好建立,就不说了,dp[u][i][0] 表示 u 这个部分表达式,添加 i ...