小程序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 相关文章推荐
JavaScript CSS修改学习第一章 查找位置
Feb 19 Javascript
ASP.NET jQuery 实例1(在TextBox里面创建一个默认提示)
Jan 13 Javascript
JS中Iframe之间传值及子页面与父页面应用
Mar 11 Javascript
浅谈Node.js中的定时器
Jun 18 Javascript
探讨JavaScript标签位置的存放与功能有无关系
Jan 15 Javascript
jQuery针对input的class属性写了多个值情况下的选择方法
Jun 03 Javascript
详解jQuery中的DOM操作
Dec 23 Javascript
laydate.js日期时间选择插件
Jan 04 Javascript
你点的 ES6一些小技巧,请查收
Apr 25 Javascript
今天,小程序正式支持 SVG
Apr 20 Javascript
vue-cli+iview项目打包上线之后图标不显示问题及解决方法
Oct 16 Javascript
js实现扫雷源代码
Nov 27 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
可快速识别放射性物质-国外大神教你diy一个开放式辐射探测器
2020/03/12 无线电
php基础学习之变量的使用
2011/06/09 PHP
PHP下使用CURL方式POST数据至API接口的代码
2013/02/14 PHP
PHP删除非空目录的函数代码小结
2013/02/28 PHP
php动态绑定变量的用法
2015/06/16 PHP
PHP htmlspecialchars()函数用法与实例讲解
2019/03/08 PHP
Extjs学习笔记之八 继承和事件基础
2010/01/08 Javascript
jQuery 源码分析笔记(2) 变量列表
2011/05/28 Javascript
FireBug 调试JS入门教程 如何调试JS
2013/12/23 Javascript
jQuery实现仿美橙互联两级导航菜单效果完整实例
2015/09/17 Javascript
轻松学习Javascript闭包函数
2015/12/15 Javascript
深入理解JS中的substr和substring
2016/04/26 Javascript
js replace(a,b)之替换字符串中所有指定字符的方法
2016/08/17 Javascript
简洁实用的BootStrap jQuery手风琴插件
2016/08/31 Javascript
JQuery.validationEngine表单验证插件(推荐)
2016/12/10 Javascript
JS如何生成一个不重复的ID的函数
2016/12/25 Javascript
js正则表达式最长匹配(贪婪匹配)和最短匹配(懒惰匹配)用法分析
2016/12/27 Javascript
javascript 动态生成css代码的两种方法
2017/03/17 Javascript
Web安全之XSS攻击与防御小结
2018/12/13 Javascript
原生js实现抽奖小游戏
2019/06/27 Javascript
解决vue scoped scss 无效的问题
2020/09/04 Javascript
Ajax获取node服务器数据的完整步骤
2020/09/20 Javascript
vuex中遇到的坑,vuex数据改变,组件中页面不渲染操作
2020/11/16 Javascript
Python中的if、else、elif语句用法简明讲解
2016/03/11 Python
用Python3创建httpServer的简单方法
2018/06/04 Python
Python 类方法和实例方法(@classmethod),静态方法(@staticmethod)原理与用法分析
2019/09/20 Python
iframe在移动端的缩放的示例代码
2018/10/12 HTML / CSS
全球性的在线鞋类品牌:Public Desire
2019/04/03 全球购物
德国受欢迎的旅游和休闲网站:lastminute.de
2019/09/23 全球购物
美国轻奢时尚购物网站:REVOLVE(支持中文)
2020/07/18 全球购物
桥梁与隧道工程专业本科生求职信
2013/10/08 职场文书
贷款委托书范本
2014/04/08 职场文书
《桥》教学反思
2014/04/09 职场文书
汽车专业求职信
2014/06/05 职场文书
客户经理岗位职责
2015/01/31 职场文书
工商局个人工作总结
2015/03/03 职场文书