小程序解析富文本---文本內(nèi)容(不含圖片)

本案例只解析文本
若需解析圖片可查看: http://www.itdecent.cn/p/50cbb428ad1c

  1. 需引用 html2json.js , 將html轉(zhuǎn)化json文本
  2. 利用遞歸取出文本

import HtmlToJson from './html2json.js';

let  arr = [];  //存儲(chǔ)文本數(shù)據(jù)

//遞歸取出文本數(shù)據(jù)
function getcontent(data, arr) {

  data.forEach((item, index) => {
    if (item.node == "element" && item.nodes) {
      //先判斷 item.tag == "br" 
      if (item.tag == "br") {
        arr.push({ node: "br", text: "\n" });

      } else {
        let newarr = item.nodes;
        return getcontent(newarr,arr)
      }

    } else if (item.node == "text") {
      arr.push(item);
    }
  })
} 

//根據(jù)  data   返回文本
function getText( data = '') {
 
   var transData = {};//存放轉(zhuǎn)化后的數(shù)據(jù)

    transData = HtmlToJson.html2json(data);

    let text_transData = {};   //純文本    解析文本內(nèi)容
    if (transData.nodes.length > 0) {

      text_transData = transData.nodes[0].nodes;
      let testdata = [];   //文本數(shù)據(jù)
   
      //判斷body中有內(nèi)容才繼續(xù)
      text_transData.forEach((item, index) => {
        if (item.tag == "body" && item.nodes) {
          testdata = item.nodes;
        }
      })
     
      if (testdata.length > 0){

            arr = [];   //先清空arr   在累加
            getcontent(testdata,arr);

            // console.log(arr, " 轉(zhuǎn)義數(shù)據(jù):arr")
            let str = "";
            arr.forEach((item, index) => {
                str += item.text;
            })
            return str;
        }else{
            return '';
        }
    }

}

module.exports = {
  getText: getText,
}

調(diào)用 getText ()方法
const Gettext = require('../../Gettext.js');

let content ="
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<p>樂善好施</p>
</body>
</html>"

let newcontent = Gettext.getText(content);

console.log(" 樂善好施 ")
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對(duì)...
    cosWriter閱讀 11,653評(píng)論 1 32
  • 概要 64學(xué)時(shí) 3.5學(xué)分 章節(jié)安排 電子商務(wù)網(wǎng)站概況 HTML5+CSS3 JavaScript Node 電子...
    阿啊阿吖丁閱讀 9,849評(píng)論 0 3
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標(biāo)準(zhǔn)。 注意:講述HT...
    kismetajun閱讀 28,813評(píng)論 1 45
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,303評(píng)論 4 61
  • 2019-03-05 姓名:符振華(378期 反省三組) 公司:深圳蔚藍(lán)時(shí)代商業(yè)管理有限公司-上海第一分公司 【日...
    Hank_dec5閱讀 100評(píng)論 0 0

友情鏈接更多精彩內(nèi)容