微信小程序富文本解析点击图片放大_微信小程序实现富文本图片宽度自适应的方法...

本文介绍如何在微信小程序中处理富文本图片,使其在不同尺寸的屏幕上正确显示。通过替换HTML标签,移除宽度和高度属性,添加`max-width: 100%`和`height: auto`样式,确保图片自适应宽度。
摘要由CSDN通过智能技术生成

引言:在微信小程序里,比如商品展示页面的商品详情会有图片展示,PC端设置的商品详情是PC端的宽度,所以在小程序里图片会显示不全,这时就应该做相应的处理,使小程序里图片显示正确

2019120113422978.jpg?2019020113457

思路

把图片的宽度改为手机屏幕对应的宽度

微信小程序需要知道的知识

需要知道微信小程序里有自己的宽度标准,单位为rpx;

针对所有不同尺寸的浏览器,微信小程序里规定屏幕宽为750rpx;

解决

WXML

WXS

data={artical:''}

async onLoad(){

const json = await api.getDetail();

if(json !== null){

this.artical = util.formatRichText(json.detail.description);

}

}

若artical里只有图片,并且图片没有设置style和宽度/高度

util.js

function formatRichText(html){

let newContent= html.replace(/\

return newContent;

}

module.exports = {

formatRichText

}

若artical里包含多种标签

util.js

/**

* 处理富文本里的图片宽度自适应

* 1.去掉img标签里的style、width、height属性

* 2.img标签添加style属性:max-width:100%;height:auto

* 3.修改所有style里的width属性为max-width:100%

* 4.去掉
标签

* @param html

* @returns {void|string|*}

*/

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(/\

return newContent;

}

module.exports = {

formatRichText

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

本文标题: 微信小程序实现富文本图片宽度自适应的方法

本文地址: http://www.cppcns.com/wangluo/javascript/250448.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值