背景:php+fastadmin+富文本插件上传富文本内容到数据库,uni-app渲染富文本内容。这里后端不需要特殊处理。uni-app的rich-text组件展示图片跑板。直接贴代码。
<template>
<view>
<title-bar title="会员动态" back backcolor="#ffffff"></title-bar>
<view class="service-list">
<view class="top">
<!-- <view class="text1">{{result.title}}</view> -->
<view class="operate">
<rich-text :nodes="result.content|formatRichText"></rich-text>
</view>
</view>
</view>
</view>
</template>
<script>
onLoad(option) {
this.id = JSON.parse(decodeURIComponent(option.detail));
console.log(this.id,"传过来啥")
this.getUser()
},
filters: {
formatRichText (html) { //控制小程序中图片大小
let newContent= html.replace(/<img[^>]*>/gi,function(match,capture){
match = match.replace(/style="[^"]+"/gi, '').replace(/style='[^']+'/gi, '');
match = match.replace(/width="[^"]+"/gi, '').replace(/width='[^']+'/gi, '');
match = match.replace(/height="[^"]+"/gi, '').replace(/height='[^']+'/gi, '');
return match;
});
newContent = newContent.replace(/style="[^"]+"/gi,function(match,capture){
match = match.replace(/width:[^;]+;/gi, 'max-width:100%;').replace(/width:[^;]+;/gi, 'max-width:100%;');
return match;
});
newContent = newContent.replace(/<br[^>]*\/>/gi, '');
newContent = newContent.replace(/\<img/gi, '<img style="max-width:100%;height:auto;display:inline-block;margin:10rpx auto;"');
return newContent;
}
}
</script>