小程序中使用 rich-text 来显示富文本需要注意后台返回的数据是一个网页转义字符。当然直接使用rich-text的话无法正常解析。
解决办法那么需要使用下面的一个方法进行反转义:
小程序你需要用到的 .js文件写入下面的转义方法:
escape2Html: function (str) {
var arrEntities = { 'lt': '<', 'gt': '>', 'nbsp': ' ', 'amp': '&', 'quot': '"' };
return str.replace(/&(lt|gt|nbsp|amp|quot);/ig, function (all, t) { return arrEntities[t]; });
},
在需要的地方直接调用,如:this.escape2Html(contents)
另外需要注意的是在wxml中使用rich-text控件进行显示,写法如下:
<view wx:if="{{contents!=''}}" class='content'>
<rich-text nodes="{{contents}}"></rich-text>
</view>