前言
最近公司在开发OTA微信小程序,一些页面的详情内容是HTML富文本格式的的,但是微信小程序不能直接解析HTML,需要将内容中的HTML标签转换成微信小程序所支持的标签。
开始的时候想过自己写方法来替换标签,后来找到了一个很好用的插件:WxParse。
今天分享给大家,Github地址:https://github.com/icindy/wxParse
使用WxParse解析富文本数据
1.将下载下来的插件文件夹复制到我们的项目根目录下(其中emojis文件可根据自己所需决定要或者不要,其他的文件必须要)
- wxParse/
-wxParse.js(必须存在)
-html2json.js(必须存在)
-htmlparser.js(必须存在)
-showdown.js(必须存在)
-wxDiscode.js(必须存在)
-wxParse.wxml(必须存在)
-wxParse.wxss(必须存在)
-emojis(表情包文件,可选)
wxParse
2.在需要使用该插件的View(.js文件)中引入WxParse模块
Var WxParse= require('../../../wxParse/wxParse.js');
3.在需要是用的wxss中引入WxParse.wxss,也可以在app.wxss中引入
@import"../../../wxParse/wxParse.wxss";
4.进行数据绑定
Var article= '<div>我是HTML代码</div>';
/**
* WxParse.wxParse(bindName , type, data,target,imagePadding)
* 1.bindName绑定的数据名(必填)
* 2.type可以为html或者md(必填)
* 3.data为传入的具体数据(必填)
* 4.target为Page对象,一般为this(必填)
** 5.imagePadding为当图片自适应是左右的单一padding(默认为0,可选)
*/
var that = this;
WxParse.wxParse('article', 'html', article,that, 5);
5.在内容页(.wxml文件)中引用该模版文件,其中data中article为bindName
导入文件
<import src="../../../wxParse/wxParse.wxml" />
引用模版
<template is="wxParse" data="{{wxParseData:article.nodes}}" />
完成后页面就能够正常渲染HTML富文本数据了
示例