微信小程序rich-text 文本首行缩进和图片居中和富文本rich-text 解析多个空格不成功 &nbsp

微信小程序开发使用rich-text组件渲染html格式的代码,常常因为不能自定义css导致文本不能缩进,以及图片不能居中等问题,这里可以考虑使用js的replace方法,替换字符串,然后在渲染的同时加载行内样式。

复制代码
//获取字符串的图片路径并替换
let content = res.data.articleVo.content
let re = /<img [^>]*src=['"]([^'"]+)[^>]*>/gi;
let srcReg = /src=[\'\"]?([^\'\"]*)[\'\"]?/i // 匹配图片中的src
let reHttp = new RegExp("http");
let imgArr = content.match(re);
for (let i = 0; i < imgArr.length; i++) {
  let imgSrc = imgArr[i].match(srcReg);
  if (!reHttp.test(imgSrc[1])) {
    content = content.replaceAll(imgSrc[1], URL.imghhx + imgSrc[1]);
  }
}
//先去掉本身的style
const regex = new RegExp('style="max-width:100%;" ', 'gi');
let contentIMg  = content.replace(regex, '');
//文本首行缩进和图片居中
let article = contentIMg.replace(/(\<img|\<p)/gi, function ($0, $1) {
  return {
    "<img": '<img style="width:100%;height:auto;display:block;" ',
    "<p": '<p style="text-indent: 24px;" ',
    "<article": "<div",
    "</article": "</div",
    "<header": "<div",
    "</header": "</div"
  } [$1];
});  

小程序富文本rich-text 解析多个空格不成功 &nbsp 解决方案

&nbsp; 替换为 &ensp;即可

复制代码
let str = '<p>&ensp; &ensp; 今天是阳光明媚的一天</p>'.replace(/&nbsp;/g, '&ensp;')
相关推荐
00后程序员张2 小时前
完整教程:如何将iOS应用程序提交到App Store审核和上架
android·macos·ios·小程序·uni-app·cocoa·iphone
00后程序员张3 小时前
iOS应用性能优化全解析:卡顿、耗电、启动与瘦身
android·ios·性能优化·小程序·uni-app·iphone·webview
大力水手~6 小时前
小程序模仿iphone苹果手机滑动选时间
智能手机·小程序
杰建云1676 小时前
小程序如何做裂变?
小程序·小程序制作
Evavava啊7 小时前
iOS微信小程序WebView中按钮背景渐变显示问题解决方案
ios·微信小程序·h5·渲染
阳光雨滴7 小时前
微信小程序使用canvas自定义富文本内容做图片分享
微信小程序·小程序
杰建云1677 小时前
小程序如何做活动?
小程序·小程序制作
这是个栗子7 小时前
【微信小程序问题解决】微信小程序全局 navigationBarTitleText 不起作用
微信小程序·小程序·导航栏
lpfasd1237 小时前
从“惯性思维”到“规则驱动”:一次微信小程序修复引发的 AI 编程范式思考
人工智能·微信小程序·小程序
万岳科技程序员小金8 小时前
从0到1搭建AI真人数字人小程序:源码方案与落地流程详解
人工智能·小程序·ai数字人小程序·ai数字人系统源码·ai数字人软件开发·ai真人数字人平台搭建