国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

微信小程序 富文本轉文本實例詳解

2019-11-20 08:40:44
字體:
來源:轉載
供稿:網(wǎng)友

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

最近小程序這么火,我也來搞搞。發(fā)現(xiàn)了一個惡心的問題。小程序沒有組件能支持富文本內容的,改接口又不太合適,于是有了這問,沒技術含量純粹記錄

首先我們看眼沒有被格式的富文本顯示:

*.wxml內代碼。content是富文本內容

 <view>   <text>{{content}}</text>  </view>

顯示結果:

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

我們需要處理html富文本內容,讓其顯示好看點

下面直接上代碼了,主要功能就是利用js的replace 對富文本經(jīng)行處理,大家可以看一下。一起優(yōu)化,方便對富文本更好的處理。

convertHtmlToText: function convertHtmlToText(inputText) {  var returnText = "" + inputText;  returnText = returnText.replace(/<//div>/ig, '/r/n');  returnText = returnText.replace(/<//li>/ig, '/r/n');  returnText = returnText.replace(/<li>/ig, ' * ');  returnText = returnText.replace(/<//ul>/ig, '/r/n');  //-- 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'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,'');  //-- 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文件中, 然后在需要處理數(shù)據(jù)的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)   }  })}

然后編譯刷新下,可以看到結果了:

這里可以繼續(xù)調整下css,使顯示得更好看點。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 同仁县| 寿宁县| 永清县| 通化市| 涟源市| 怀安县| 贵港市| 河北区| 中江县| 禄丰县| 静宁县| 彰化县| 固原市| 清涧县| 楚雄市| 崇阳县| 延寿县| 顺义区| 武鸣县| 古交市| 云浮市| 松桃| 翁源县| 陵川县| 平湖市| 漯河市| 南雄市| 通海县| 锦屏县| 新田县| 嘉禾县| 铜梁县| 合水县| 盐池县| 海丰县| 金秀| 云霄县| 汨罗市| 防城港市| 清河县| 沂水县|