本文实例为大家分享了小程序富文本提取图片可放大缩小的具体代码,供大家参考,具体内容如下
启发:
因为最近有需求说在小程序商品的详情页里所有图片可以放大缩小,网上好像不太好找,就写了篇博客,供大家参考
step1
获取到富文本内容,怎么获取就是请求数据嘛,这个不在赘述了。
var nodes = res.data.data.content;
step2
检测 nodes中是否有img标签,这个有很多方法,我这里用的indexOf
if (nodes.indexOf("src") >= 0) { }
step3
第三步就是用正则全局匹配img标签,并且替换成空,这里setData是为了把图片添加到wxml显示的,说下match和captrue,第一个是带有img标签的返回值,第二个是src的值
//s3:正则匹配所有图片路径 var imgs = []; nodes = nodes.replace(/<img [^>]*src=['"]([^'"]+)[^>]*>/gi, function (match, capture) { imgs.push(capture); that.setData({ imgs: imgs }); return ''; });
step4
最后就是把多余的p标签清除掉,影响样式
//s4:清除图片后正则匹配清除所有p标签 nodes = nodes.replace(/<p(([\s\S])*"htmlcode">//富文本图片放大 var nodes = res.data.data.content; if (nodes.indexOf("src") >= 0) { //正则匹配所有图片路径 var imgs = []; nodes = nodes.replace(/<img [^>]*src=['"]([^'"]+)[^>]*>/gi, function (match, capture) { imgs.push(capture); that.setData({ imgs: imgs }); return ''; }); //清除图片后正则匹配清除所有p标签 nodes = nodes.replace(/<p(([\s\S])*"color: #800000">step5
wxml中
<view class='detail'> <rich-text nodes="{{nodes}}" bindtap='richImg'></rich-text> </view> <view class='detail1'> <block wx:for="{{imgs}}" wx:key="" wx:for-item="item"> <image class='img' src='{{item}}' bindtap='chooseImg' data-src='{{item}}'></image> </block> </view>最后还有个预览的js
chooseImg: function (e) { //预览 var src = e.currentTarget.dataset.src; var urls = []; urls[0] = src; wx.previewImage({ current: src, // 当前显示图片的http链接 urls: urls }) },这里成功后可以需要调整图片的样式
最后
以上只是简单的demo,图片是连续的情况,但在富文本中可能会出现图片不连续,这个后续会贴出来,基本思路就是rich-text也是循环添加到wxml中,本例亲测可行,如有更好的方法,欢迎提出。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com
暂无评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
2024年09月21日
2024年09月21日
- [ABC]安娜-胆麦发烧女声[6N纯银镀膜][2016[低速原抓WAV+CUE]
- 任天堂今晚举行直面会!第三方及独立游戏展示
- 《哆啦A梦的铜锣烧店物语》发售!开罗公式+哆啦A梦
- 任天堂公布《塞尔达传说》系列时间线:野炊与王泪独立在外
- 五条人.2012-一些风景2CD【刀马旦】【WAV+CUE】
- 陈奕迅.2013-Easons.Life演唱会2CD(2024环球红馆40复刻系列)【环球】【WAV+CUE】
- 许美静.1995-遗憾(新马版)【上华】【WAV+CUE】
- 《叶倩文 歌声情缘》[WAV+CUE][410MB]
- 《张国荣 首首动听经典不容错过 追忆的风 2CD》[WAV+CUE][870MB]
- 《腾格尔 容中尔甲 亚东 高原三星 男人篇 3CD》[WAV/分轨][1GB]
- 命运圣契公测实测可用兑换码大全 命运圣契最新兑换码分享
- 黑神话悟空上品疾蝠精魄获取方法一览|上品疾蝠精魄收集攻略
- 《七龙珠电光炸裂!ZERO》GT角色预告片曝光,15位新角色登场
- [ABC]安娜-胆麦发烧女声[6N纯银镀膜][2016[低速原抓WAV+CUE]
- NewViennaOctetViennaWindSoloists-TheDeccaRecordings(2024)18CD[24-48][FLAC]-7