最近在做小程序,在处理富文本图片时没做相应处理,图片width没有自适应
简单的定义:img{max-width: 100%;}并没有生效
说明:微信小程序rich-text,对于样式定义仅支持style和class,直接指定img样式设置图片样式无效。
解决:使用正则替换处理
function handleImage(content) {
var newStr = content.replace(/class="[\s\S]*?"/g, "")
.replace(/<img([\s\w"-=\/\.:;]+)((?:(height="[^"]+")))/ig, '<img$1')
.replace(/<img([\s\w"-=\/\.:;]+)((?:(width="[^"]+")))/ig, '<img$1')
.replace(/<img([\s\w"-=\/\.:;]+)((?:(style="[^"]+")))/ig, '<img$1')
.replace(/<img([\s\w"-=\/\.:;]+)((?:(alt="[^"]+")))/ig, '<img$1')
.replace(/<img([\s\w"-=\/\.:;]+)/ig, '<img$1 style="width: 100%; border-radius: 8px;"');
return newStr;
}