如何处理后端返回的富文本内容展示到小程序查看文章内容详情
list.wpy文件通过wx.request请求列表到页面,该列表页点击进入查看列表内容详情HelpList.wpy。
示图=》
结果
由于微信小程序自定义了标签,但是富文本返回了H5标签在内,针对该问题,小程序中应该如何处理?
5 回复
rich-text不需要按文档这样写,他这样写是数组形式,我用的是string形式,就是把内容直接赋值给nodes就行了,但是rich-text经过我测试比较坑,对图片的解析太不友好,完全显示的原图,所以就用wxParse就好了
我github选的 参考文档是: https://github.com/ifanrx/wxParser
那个选的rich-text 还要自己解析 data.content富文本片段的吧?这样子就真的麻烦起来了。
< style > [@import](/user/import) '../wxParser/index.wxss'; .wrap{padding: 0 10px;} </ style > < template > < view class = "page" > < view class = "page__hd" > < view class = "page__title" > wxParser </ view > < view class = "page__desc" > 小程序富文本示例 </ view > </ view > < view class = "page__bd wrap" > < view > 参考文档: https://github.com/ifanrx/wxParser </ view > < import src = "../wxParser/index.wxml" /> < view class = "wxParser" > < template is = "wxParser" data = "{{wxParserData:richText.nodes}}" /> </ view > < rich-text nodes = "{{nodes}}" bindtap = "tap" > </ rich-text > </ view > </ view > </ template > < script > import wepy from 'wepy'; const wxParser = require('../wxParser/index'); export default class WxParserDemo extends wepy.page { data = { nodes: [{ name: 'div', attrs: { class: 'div_class', style: 'line-height: 60px; color: red;' }, children: [{ type: 'text', text: 'Hello World!' }] }] } methods = { tap() { console.log('tap') } } onLoad() { var self = this; var Html = "< div >< a href = 'https://mp.weixin.qq.com' >微信小程序</ a >< strong >富文本</ strong >示例</ div >"; // var Html="< div >微信小程序< strong >富文本</ strong >示例</ div >"; wxParser.parse({ bind: 'richText', html: Html, target: this, enablePreviewImage: false, // 禁用图片预览功能 tapLink: function(url) { // 点击超链接时的回调函数 // url 就是 HTML 富文本中 a 标签的 href 属性值 // 这里可以自定义点击事件逻辑,比如页面跳转 console.log("url=>", url); wx.navigateTo({ url: url }); } }); } } </ script > |