收藏
回答

rich-text 解析富文本 图片过大 如何自定义大小?

从后台查出来的富文本数据,使用 rich-text 进行展示时,其中的图片过大,超出屏幕。




真的是一点效果都没有,我都要急疯了,大佬们救救我把,


回答关注问题邀请回答
收藏

10 个回答

  • 嘟呀嘟
    嘟呀嘟
    04-13

    这里rich-text解析img时,如果没有给图片设置样式的话,会有一个空的style

    如果我们这样单纯的添加一个style样式的话

    还是会保留那个空的style

    这样相当于没有设style,因为会被后面的空style代替,

    所以可以先将img中所有的style属性删除,然后在添加,这样就可以。

    04-13
    有用 2
    回复
  • 🤔
    🤔
    2019-12-05

    刚好遇到了 ,发下我的处理方法吧

    //details要处理的内容

    const replaceDetail = function(details){

    var texts='';//待拼接的内容

    while(details.indexOf('<img')!=-1){//寻找img 循环

    texts+=details.substring('0',details.indexOf('<img')+4);//截取到<img前面的内容

    details = details.substring(details.indexOf('<img')+4);//<img 后面的内容

    if(details.indexOf('style=')!=-1 && details.indexOf('style=')<details.indexOf('>')){

    texts+=details.substring(0,details.indexOf('style="')+7)+"max-width:100%;height:auto;margin:0 auto;";//从 <img 后面的内容 截取到style= 加上自己要加的内容

    details=details.substring(details.indexOf('style="')+7); //style后面的内容拼接

    }else{

    texts+=' style="max-width:100%;height:auto;margin:0 auto;" ';

    }

    }

    texts+=details;//最后拼接的内容

    return texts

    }


    2019-12-05
    有用 5
    回复 3
  • 保~zZ
    保~zZ
    03-23

    /* 富文本样式 */

    rich-text{

    width: 100%;margin: 16rpx auto;position: relative;display: block;

    }

    rich-text .span_class{

    width: 100%;font-size: 14px; line-height: 20px;

    }

    rich-text .p_class{

    width: 100%;font-size: 14px; line-height: 20px;

    }

    rich-text .img_class{

    width: 100%;height: auto;

    }


    function replaceSpecialChar(content) {

    content = content.replace(/&quot;/g,'"');

    content = content.replace(/&amp;/g, '&');

    content = content.replace(/&lt;/g, '<');

    content = content.replace(/&gt;/g, '>');

    content = content.replace(/&nbsp;/g, ' ');

    content = content.replace(/<p/gi, '<p class="p_class" ');

    content = content.replace(/<span/gi, '<span class="span_class" ');

    content = content.replace(/<img/gi, '<img class="img_class" ');

    return content;

    }


    03-23
    有用 3
    回复
  • violinst
    violinst
    04-27

    大哥,在线请求帮助,在线等,急!!!

    04-27
    有用 1
    回复
  • 小灰灰
    小灰灰
    2019-11-28

    楼主,这个问题解决了吗,我也是通过样式,width什么的都不能起作用。如果看到希望可以回复下,在线等


    2019-11-28
    有用 1
    回复 7
    • Anna
      Anna
      2019-11-29
      你首先打印一下你的富文本内容,img里面的是style里面width嘛,如果是,那就用正则把style只全部替换成你要的
      2019-11-29
      回复
    • 你的微笑
      你的微笑
      2019-11-29
      你可以用parser插件,给图片设置属性,就可以解决
      2019-11-29
      回复
    • 小灰灰
      小灰灰
      2019-11-29回复Anna
      但是这样替换的话,用户在富文本中给图片添加的一些样式,如何保留呢?因为图片默认会携带一个style过来,如果替换他的style,携带过来的样式就会丢失
      2019-11-29
      回复
    • 小灰灰
      小灰灰
      2019-11-29回复你的微笑
      嗯嗯,你说的这个插件我有看过,不过这边现在应该是不考虑插件的
      2019-11-29
      回复
    • Anna
      Anna
      2019-11-29回复小灰灰
      我这边不考虑用户设置的img style,
      2019-11-29
      回复
    查看更多(2)
  • ㄨ℉ωιFι℅`
    ㄨ℉ωιFι℅`
    02-20

    图片上传的时候可以给个100%


    this.editorCtx.insertImage({

    src: this.data.imgUrl + img,

    width: '100%'

    });


    02-20
    有用
    回复
  • 卢霄霄
    卢霄霄
    2019-10-10

    能做个代码片段吗

    2019-10-10
    有用
    回复 11
    查看更多(6)
  • 青青子衿
    青青子衿
    2019-10-09

    wxParse-微信小程序富文本解析自定义组件,可以使用这个组件,git地址https://github.com/icindy/wxParse

    2019-10-09
    有用
    回复
  • 拾忆
    拾忆
    2019-10-09

    在获取到的富文本字符串里格式化下图片相关的标签删除里面的style,再把处理后的字符串传给组件。具体怎么做自己百度。

    2019-10-09
    有用
    回复
  • 戏多多💎💎💎______________
    戏多多💎💎💎______________
    2019-10-09

    不能给个CSS??

    2019-10-09
    有用
    回复 6
    查看更多(1)
登录 后发表内容
问题标签