小程序上显示富文本

news/发布时间2024/5/5 4:12:24
  • 功能:富文本内容格式化、拿到富文本里的所有图片点击放大图片

  • util.ts

      export function formatRichText(html: any) { // 富文本内容格式化let arrText = html;//正则匹配不含style="" 或 style='' 的img标签var regex1 = new RegExp("(i?)(\<img)(?!(.*?style=['\"](.*)['\"])[^\>]+\>)", "gmi");//给不含style="" 或 style='' 的img标签加上style=""arrText = arrText.replace(regex1, "$2 style=\"\"$3");//正则匹配含有style的img标签var regex2 = new RegExp("(i?)(\<img.*?style=['\"])([^\>]+\>)", "gmi");//在img标签的style里面增加css样式(这里增加的样式:width:100%;)arrText = arrText.replace(regex2, "$2width:100%;$3");// 正则表达式  全局匹配 table tr td标签,并给各自标签添加class类名arrText = arrText.replace(/<table/g, '<table class="table-rich"')arrText = arrText.replace(/<tr/g, '<tr class="table-tr"')arrText = arrText.replace(/<td/g, '<td class="table-td"')return arrText}
    
  • 使用 index.ts

      import { formatRichText } from "../util";data: {content: '',imgArr: []},onLoad(options: any) {this.getData();},getData() {const res = '富文本编辑器内容'const data = formatRichText(res);// 主要代码为后面预览图片准备let imgArr: any = [];let regex = new RegExp(/<img.*?(?:>|\/>)/gi); // 匹配所有图片let srcReg = /src=[\'\"]?([^\'\"]*)[\'\"]?/i; // 匹配src图片let arrsImg = data.match(regex); //  data后台返回的富文本数据if (arrsImg && arrsImg.length > 0) {for (let i = 0; i < arrsImg.length; i++) {let srcs = arrsImg[i].match(srcReg);imgArr.push(srcs[1])}}this.setData({content: data,imgArr})console.log(data) // 富文本内容console.log(imgArr) // 图片数组},// 点击放大预览图片函数catchImage() {wx.previewImage({current: this.data.imgArr[0], // 当前显示图片的http链接urls: this.data.imgArr // 需要预览的图片http链接列表})},
    
  • index.wxml

       <rich-text nodes="{{content}}" space="ensp" catchtap="catchImage"></rich-text>
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ulsteruni.cn/article/85422162.html

如若内容造成侵权/违法违规/事实不符,请联系编程大学网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

TPU-MLIR实现技术详细介绍

TPU-MLIR实现技术详细介绍 TPU-MLIR简介 后文假定用户已经处于docker里面的/workspace目录。 编译ONNX模型 以 yolov5s.onnx 为例, 介绍如何编译迁移一个onnx模型至BM1684X TPU平台运行。 该模型来自yolov5的官网: https://github.com/ultralytics/yolov5/releases/download/v6…

PostgreSQL源码学习 win10源码编译安装

源码学习的第一步是源码安装,只有用源码安装才能之后在此基础上阅读、调试、开发系统。 我这里安装的是PostgreSQL 13.2版本,其他版本大同小异,如有出入,以最新版本的文档为准:PostgreSQL最新版文档 一、下载源码 源码下载链接,内含各自版本的源码:PG源码 比如13.2版本的…

结对编程 300道四则运算

小学老师要每周给同学出300道四则运算练习题。 –这个程序有很多种实现方式:C/C++ C#/VB.net/Java Excel Unix Shell Emacs/Powershell/Vbscript Perl Python –两个运算符,100 以内的数字,不需要写答案。 –需要检查答案是否正确,并且保证答案在 0..100 之间 –尽可能地多设…

基于yolov2深度学习网络的螺丝螺母识别算法matlab仿真

1.算法运行效果图预览 2.算法运行软件版本 matlab2022a3.算法理论概述在工业自动化和质量控制领域,准确且高效的螺丝螺母识别至关重要。深度学习方法,特别是基于卷积神经网络(CNN)的目标检测技术,因其卓越的特征提取能力,成为解决此类问题的有效手段。YOLOv2作为实时目标…

进阶数据结构

学到哪写到哪说是 既然打ACM可以用板子,我就不用再隔几天敲一遍板子了 只能说赢麻了 线段树 线段树是一种利用二分思想的数据结构,主要用于区间修改以及查询问题。 它的基本思想是可以用一下一个图来表示,其中最底层的是原数组简单来说,对于每个区间的修改或者查询操作,我…

echarts 两个曲线之间填充并且不遮挡的办法

echarts 两个曲线之间填充 可以用两条曲线 ,第一条填充白色 ,然后 第2条填充想要的颜色 ,如下面的代码 option = {title: {text: 堆叠区域图},tooltip : {trigger: axis},legend: {data:[最小值,最大值]},toolbox: {feature: {saveAsImage: {}}},grid: {left: 3%,right: 4%,…