栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > JavaScript

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

JavaScript 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

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

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

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

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

 
   {{content}}
  

显示结果:

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

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

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

convertHtmlToText: function convertHtmlToText(inputText) {
  var returnText = "" + inputText;
  returnText = returnText.replace(/
/ig, 'rn'); returnText = returnText.replace(//ig, 'rn'); returnText = returnText.replace(/
  • /ig, ' * '); returnText = returnText.replace(//ig, 'rn'); //-- remove BR tags and replace them with line break returnText = returnText.replace(//gi, "rn"); //-- remove P and A tags but preserve what's inside of them returnText=returnText.replace(//gi, "rn"); returnText=returnText.replace(/(.*?)/gi, " $2 ($1)"); //-- remove all inside script and STYLE tags returnText=returnText.replace(/[wW]{1,}(.*?)[wW]{1,}/gi, ""); returnText=returnText.replace(/[wW]{1,}(.*?)[wW]{1,}/gi, ""); //-- remove all else returnText=returnText.replace(/<(?:.|s)*?>/g, ""); //-- get rid of more than 2 multiple line breaks: returnText=returnText.replace(/(?:(?:rn|r|n)s*){2,}/gim, "rnrn"); //-- get rid of more than 2 spaces: returnText = returnText.replace(/ +(?= )/g,''); //-- get rid of html-encoded characters: returnText=returnText.replace(/ /gi," "); 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,使显示得更好看点。

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

  • 转载请注明:文章转载自 www.mshxw.com
    本文地址:https://www.mshxw.com/it/93260.html

    JavaScript相关栏目本月热门文章

    我们一直用心在做
    关于我们 文章归档 网站地图 联系我们

    版权所有 (c)2021-2022 MSHXW.COM

    ICP备案号:晋ICP备2021003244-6号