从一个问题开始:有个视频列表,每个视频下面有其对应的标题,但是在小程序中使用rich-text解析不了video标签,视频只能单独拎出来解析。但是与预想的效果不一致。
展示的是:预想的是:
因此只能更改解析方式
一、在https://github.com/icindy/wxParse下载wxParse,我是直接下载了压缩文件
将压缩文件中的wxParse文件单独放入pages目录下,压缩文件中的其他内容可以舍弃了。
二、在我要使用解析方式的文件中,我是只针对文章详情article文件中进行html解析,所以我在article.js文件中引入
var WxParse = require('../wxParse/wxParse.js');
并且在文章详情数据接口中处理文章的详情内容
let contentObj = res.data.content
WxParse.wxParse('article', 'html', contentObj, _this,5)
如图:
其中Wxparse的几个参数的意思是
WxParse.wxParse(bindName , type, data, target,imagePadding)
bindName绑定的数据名(必填)
type可以为html或者md(.md文件)(必填)
data为传入的具体数据(必填)
target为Page对象,一般为this(必填)
imagePadding为当图片自适应时左右的单一padding(默认为0,可选)
三、在内容中引用的时候也要在wxml文件中使用
<import src="../wxParse/wxParse.wxml"/>
在内容中这样使用
<template is="wxParse" data="{{wxParseData:article.nodes}}"/>
四、对与样式也要引用,因为我是在article文件中使用,所以没有放入全局app.wxss文件中。
@import '../wxParse/wxParse.wxss';
这些就是使用WxParse进行解析的方式。
但是。。。
生活还是处处是惊喜,文章中有从word中粘贴的文本,在接收到后台数据经过解析会产生一种标签<o:p>
最后在wxParse文件的html2json.js中的trimHtml进行处理。
.replace(/<o:p>/g,'\n ')
结束。。。