使用rich-text渲染富文本
需要处理图片的宽度和style的双引号问题
/**
* 转换富文本的图片最大为100%
* 转换行内样式的双引号问题
*/
function formatRichText(html) { //控制小程序中图片大小
let newContent = html.replace(/]*>/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(/
]*\/>/gi, '');
newContent = newContent.replace(/\
'
var stylePattern = /style="[^=>]*"[\s+\w+=|>]/g;
var innerQuotePattern = /(?)/g;
return newContent.replace(stylePattern, function(matches) {
return matches.replace(innerQuotePattern, '\'');
});
// return newContent;
}