热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

微信小程序富文本转文本实例详解

这篇文章主要介绍了微信小程序富文本转文本实例详解的相关资料,需要的朋友可以参考下

微信小程序-富文本转文本

最近小程序这么火,我也来搞搞。发现了一个恶心的问题。小程序没有组件能支持富文本内容的,改接口又不太合适,于是有了这问,没技术含量纯粹记录

首先我们看眼没有被格式的富文本显示:

*.wxml内代码。content是富文本内容

 
   {{content}}
  

显示结果:

由以上图片看到,小程序无法解析html文件

我们需要处理html富文本内容,让其显示好看点

下面直接上代码了,主要功能就是利用js的replace 对富文本经行处理,大家可以看一下。一起优化,方便对富文本更好的处理。

convertHtmlToText: function convertHtmlToText(inputText) {
  var returnText = "" + inputText;
  returnText = returnText.replace(/<\/div>/ig, '\r\n');
  returnText = returnText.replace(/<\/li>/ig, '\r\n');
  returnText = returnText.replace(/
  • /ig, ' * '); returnText = returnText.replace(/<\/ul>/ig, '\r\n'); //-- remove BR tags and replace them with line break returnText = returnText.replace(//gi, "\r\n"); //-- remove P and A tags but preserve what's inside of them returnText=returnText.replace(//gi, "\r\n"); returnText=returnText.replace(/(.*&#63;)<\/a>/gi, " $2 ($1)"); //-- remove all inside SCRIPT and STYLE tags returnText=returnText.replace(/[\w\W]{1,}(.*&#63;)[\w\W]{1,}<\/script>/gi, ""); returnText=returnText.replace(/[\w\W]{1,}(.*&#63;)[\w\W]{1,}<\/style>/gi, ""); //-- remove all else returnText=returnText.replace(/<(&#63;:.|\s)*&#63;>/g, ""); //-- get rid of more than 2 multiple line breaks: returnText=returnText.replace(/(&#63;:(&#63;:\r\n|\r|\n)\s*){2,}/gim, "\r\n\r\n"); //-- get rid of more than 2 spaces: returnText = returnText.replace(/ +(&#63;= )/g,''); //-- get rid of html-encoded characters: returnText=returnText.replace(/ /gi," "); returnText=returnText.replace(/&/gi,"&"); returnText=returnText.replace(/"/gi,'"'); returnText=returnText.replace(//gi,'>'); return returnText; }
  • 将上面代码放入任意适合的小程序js文件中, 然后在需要处理数据的js文件里,引入文件,下面给出放入app.js文件中的调用示

    例:

    var app = getApp()//获取app小程序实例
     onLoad: function (options) {
        wx.request({
       url: 'http://example.com/api' + options.id+'.json',
       headers: {
        'Content-Type': 'application/json'
       },
       success: function (res) {
        res.data.cOntent= app.convertHtmlToText(res.data.content )
         that.setData({
          art: res.data.content
         })
         console.log(res.data)
       }
      })
    }
    

    然后编译刷新下,可以看到结果了:

    这里可以继续调整下css,使显示得更好看点。

    感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


    推荐阅读
    • 本文档详细规划了从基础到高级的软件测试学习路径,包括但不限于测试基础、Linux和数据库、功能测试、Python编程、接口测试、性能测试、金融项目实战、UI自动化测试等内容,旨在为初学者和进阶者提供全面的学习指导。 ... [详细]
    • 微信小程序配置详解:pages、window、tabBar与调试模式
      本文详细介绍了如何在微信小程序中配置pages、window、tabBar以及启用调试模式,帮助开发者更好地理解和应用这些配置选项。 ... [详细]
    • 本文介绍了如何使用外向烧鹅IO库来封装GET请求的具体步骤,包括库的安装与配置、请求拦截器的设置以及如何在Vue项目中调用这些封装好的请求方法。 ... [详细]
    • Solr的安装与部署指南
      Solr作为一款独立的企业级搜索应用服务器,支持Web-service风格的API接口,允许用户通过HTTP请求提交XML文件以创建索引或执行搜索操作。本文将详细介绍Solr的安装步骤及配置方法。 ... [详细]
    • C# 对象转 JSON 字符串的方法与应用
      本文介绍如何在 C# 中使用一般处理程序(ASHX)将对象转换为 JSON 字符串,并通过设置响应类型为 application/json 来确保客户端能够正确解析返回的数据。同时,文章还提供了 HTML 页面中不依赖 jQuery 的 AJAX 方法来接收和处理这些 JSON 数据的具体实现。 ... [详细]
    • 本文详细介绍了ejabberd中的验证码服务、接收器以及服务器间通信的监督者和工作进程,包括它们的启动方式和主要功能。 ... [详细]
    • 现代软件工程开发体验:结对编程
      距现代软件工程开课已经3周,按照课程安排,在最近的9天中,我们进行了极限编程模式的体验:pairwork(结对编程,具体见链接),对象是在academicsearchmap上添加一些新特性。经过选 ... [详细]
    • 深入理解Django中的AJAX应用
      本文详细介绍了AJAX技术及其在Django框架中的应用。AJAX,即异步JavaScript和XML,允许网页在不重新加载整个页面的情况下与服务器交换数据并更新部分网页。 ... [详细]
    • 前言叨逼叨iOS上传文件,可能有很多第三方的框架之类的,比如AFN或者Alamofire之类的框架,但是今天要谈论的是原生的API是如何进行文件上传。兵 ... [详细]
    • Gradle基础概念与实践指南
      本文详细介绍了Gradle的基本概念、Groovy语言基础、Gradle的生命周期、项目管理以及任务配置等内容,旨在帮助开发者更好地理解和使用Gradle构建工具。 ... [详细]
    • 如何在Notepad++中执行Python代码
      Notepad++是一款功能丰富的文本编辑器,不仅支持多种编程语言的语法高亮显示,还提供了便捷的代码执行功能。本文将详细介绍如何在Notepad++中配置并运行Python代码。 ... [详细]
    • 优化PostgreSQL中hstore列的查询性能
      本文探讨了如何通过创建适当的索引来提高PostgreSQL中hstore列的查询效率,特别是当涉及到大量数据时。文章将介绍不同索引类型的效果,并提供具体的优化方案。 ... [详细]
    • 本文详细介绍了如何利用UniApp将微信小程序转换为APP的过程,包括分包技术的应用和配置方法。通过合理设置pages.json文件中的页面路径,优化应用性能。 ... [详细]
    • 深入解析Axios与jQuery的核心差异
      本文详细对比了Axios与jQuery在Web前端开发中的应用,探讨两者在异步请求处理、数据封装及请求方式上的不同之处。 ... [详细]
    • 使用 NDB 提升 Node.js 应用调试体验
      本文介绍了由 Google Chrome 实验室推出的新一代 Node.js 调试工具 NDB,旨在为开发者提供更加高效和便捷的调试解决方案。 ... [详细]
    author-avatar
    汽车一族coolboy_518
    这个家伙很懒,什么也没留下!
    PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有