小程序rich-text组件如何改变内部img图片样式的方法


Posted in Javascript onMay 22, 2019

一、起因

小程序中有一个页面,很奇葩,是通过后端传过来的整段HTML字符串展示内容的,那么我们暂时叫这个页面为content,传过来之后,他里面的图片样式是不固定的,有的大,有的小,有的有style有的没有,那我怎么能让他统一展示成一样的样式呢?

二、办法

思前想后,我觉得还是正则比较靠谱,把content里面所有的img标签筛选出来,把里面有style的、有width的、有height的、全部删除掉,最后在统一加上我们想要的样式,最终代码如下:

<RichText nodes={content} />

下面是HTML字符串处理过程

let html = content
      .replace(/<p([\s\w"=\/\.:;]+)((?:(style="[^"]+")))/ig, '<p')
      .replace(/<p>/ig, '<p style="font-size: 15Px; line-height: 25Px;">')
      .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;"');

最终实现了我们想要的样式统一的效果啦~

三、总结

我有想过直接在less里面取到img,然后改变它的样式,这种办法在h5中是可行的,但是在小程序中不起作用!因为在小程序中会是一整个rich-text标签,里面的内容样式无法修改。所以采用这种办法啦~~能够解决问题。

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

Javascript 相关文章推荐
Add a Picture to a Microsoft Word Document
Jun 15 Javascript
javascript 面向对象编程  function是方法(函数)
Sep 17 Javascript
jquery弹出关闭遮罩层实例
Aug 06 Javascript
获取非最后一列td值并将title设为该值的方法
Oct 30 Javascript
JavaScript前端图片加载管理器imagepool使用详解
Dec 29 Javascript
JavaScript中的Math.E属性使用详解
Jun 12 Javascript
基于Jquery+div+css实现弹出登录窗口(代码超简单)
Oct 27 Javascript
jQuery给表格添加分页效果
Mar 02 Javascript
详解angularjs中的隔离作用域理解以及绑定策略
May 31 Javascript
Bootstrap弹出框之自定义悬停框标题、内容和样式示例代码
Jul 11 Javascript
微信小程序webview组件交互,内联h5页面并网页实现微信支付实现解析
Aug 16 Javascript
vue 实现走马灯效果
Oct 28 Javascript
JavaScript中的 new 命令
May 22 #Javascript
element-ui组件中input等的change事件中传递自定义参数
May 22 #Javascript
原生JS实现列表内容自动向上滚动效果
May 22 #Javascript
小程序如何使用分包加载的实现方法
May 22 #Javascript
原生js实现trigger方法示例代码
May 22 #Javascript
koa router 多文件引入的方法示例
May 22 #Javascript
微信小程序template模板与component组件的区别和使用详解
May 22 #Javascript
You might like
ThinkPHP的RBAC(基于角色权限控制)深入解析
2013/06/17 PHP
浅析PHP程序设计中的MVC编程思想
2014/07/28 PHP
PHP实现视频文件上传完整实例
2014/08/28 PHP
PHP面相对象中的重载与重写
2017/02/13 PHP
PHP多维数组指定多字段排序的示例代码
2018/05/16 PHP
PHP PDOStatement::fetchAll讲解
2019/01/31 PHP
Yii框架分页技术实例分析
2019/08/30 PHP
Yii框架参数配置文件params用法实例分析
2019/09/11 PHP
Javascript 表单之间的数据传递代码
2008/12/04 Javascript
js正确获取元素样式详解
2009/08/07 Javascript
扩展Jquery插件处理mouseover时内部有子元素时发生样式闪烁
2011/12/08 Javascript
Jquery插件分享之气泡形提示控件grumble.js
2014/05/20 Javascript
jquery图片切换插件
2015/03/16 Javascript
jQuery CSS3相结合实现时钟插件
2016/01/08 Javascript
js实现把图片的绝对路径转为base64字符串、blob对象再上传
2016/12/29 Javascript
jQuery实现移动端Tab选项卡效果
2017/03/15 Javascript
vue实现简单的MVVM框架
2018/08/05 Javascript
vue下history模式刷新后404错误解决方法
2018/08/18 Javascript
Vue slot用法(小结)
2018/10/22 Javascript
vue遍历生成的输入框 绑定及修改值示例
2019/10/30 Javascript
vue获取data数据改变前后的值方法
2019/11/07 Javascript
浅析vue-router中params和query的区别
2019/12/24 Javascript
JavaScript实现网页动态生成表格
2020/11/25 Javascript
python爬虫常用的模块分析
2014/08/29 Python
利用python将图片转换成excel文档格式
2017/12/30 Python
Python实现统计给定列表中指定数字出现次数的方法
2018/04/11 Python
python3调用百度翻译API实现实时翻译
2018/08/16 Python
对django xadmin自定义菜单的实例详解
2019/01/03 Python
python爬虫筛选工作实例讲解
2020/11/23 Python
纯css3使用vw和vh实现自适应的方法
2018/02/09 HTML / CSS
WSDL的操作类型主要有几种
2013/07/19 面试题
师范大学应届生求职信
2013/11/21 职场文书
《蜗牛的奖杯》教后反思
2014/04/24 职场文书
《梅花魂》教学反思
2016/02/18 职场文书
《一面五星红旗》教学反思
2016/02/23 职场文书
《悬崖边的树》读后感2篇
2019/12/02 职场文书