Comment convertir du texte enrichi en texte à l'aide d'un petit programme

藏色散人
Libérer: 2020-03-18 09:43:34
original
4062 Les gens l'ont consulté

Comment convertir du texte enrichi en texte à l'aide d'un petit programme

小程序怎么把富文本转换为文本?

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

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

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

*.wxml内代码。content是富文本内容
    <view>
     <text>{{content}}</text>
    </view>
Copier après la connexion

显示结果:

Comment convertir du texte enrichi en texte à laide dun petit programme

小程序无法解析html

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

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

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

convertHtmlToText: function convertHtmlToText(inputText) {
    var returnText = "" + inputText;
    returnText = returnText.replace(/<\/div>/ig, &#39;\r\n&#39;);
    returnText = returnText.replace(/<\/li>/ig, &#39;\r\n&#39;);
    returnText = returnText.replace(/<li>/ig, &#39;  *  &#39;);
    returnText = returnText.replace(/<\/ul>/ig, &#39;\r\n&#39;);
    //-- remove BR tags and replace them with line break
    returnText = returnText.replace(/<br\s*[\/]?>/gi, "\r\n");
    //-- remove P and A tags but preserve what&#39;s inside of them
    returnText=returnText.replace(/<p.*?>/gi, "\r\n");
    returnText=returnText.replace(/<a.*href="(.*?)".*>(.*?)<\/a>/gi, " $2 ($1)");
    //-- remove all inside SCRIPT and STYLE tags
    returnText=returnText.replace(/<script.*>[\w\W]{1,}(.*?)[\w\W]{1,}<\/script>/gi, "");
    returnText=returnText.replace(/<style.*>[\w\W]{1,}(.*?)[\w\W]{1,}<\/style>/gi, "");
    //-- remove all else
    returnText=returnText.replace(/<(?:.|\s)*?>/g, "");
    //-- get rid of more than 2 multiple line breaks:
    returnText=returnText.replace(/(?:(?:\r\n|\r|\n)\s*){2,}/gim, "\r\n\r\n");
    //-- get rid of more than 2 spaces:
    returnText = returnText.replace(/ +(?= )/g,&#39;&#39;);
    //-- get rid of html-encoded characters:
    returnText=returnText.replace(/ /gi," ");
    returnText=returnText.replace(/&/gi,"&");
    returnText=returnText.replace(/"/gi,&#39;"&#39;);
    returnText=returnText.replace(/</gi,&#39;<&#39;);
    returnText=returnText.replace(/>/gi,&#39;>&#39;);
   return returnText;
}
Copier après la connexion

将上面代码放入任意适合的小程序js文件中,

然后在需要处理数据的js文件里,引入文件,下面给出放入app.js文件中的调用示例:

var app = getApp()//获取app小程序实例
 onLoad: function (options) {
       wx.request({
      url: &#39;http://example.com/api&#39; + options.id+&#39;.json&#39;,
      headers: {
        &#39;Content-Type&#39;: &#39;application/json&#39;
      },
      success: function (res) {
       res.data.content =  app.convertHtmlToText(res.data.content )
         that.setData({
           art: res.data.content
         })
         console.log(res.data)
      }
    })
}
Copier après la connexion

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

Comment convertir du texte enrichi en texte à laide dun petit programme

结果

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!