html七彩文本,小程序解析富文本---文本内容(不含图片)

这段代码展示了如何使用html2json.js库将HTML内容转化为JSON,并递归地提取文本数据。主要涉及HTML标签的处理,如遇到'br'标签时插入换行符,以及从body标签中获取文本内容。

需引用 html2json.js , 将html转化json文本

利用递归取出文本

import HtmlToJson from './html2json.js';

let arr = []; //存储文本数据

//递归取出文本数据

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);

}

})

}

//根据 data 返回文本

function getText( data = '') {

var transData = {};//存放转化后的数据

transData = HtmlToJson.html2json(data);

let text_transData = {}; //纯文本 解析文本内容

if (transData.nodes.length > 0) {

text_transData = transData.nodes[0].nodes;

let testdata = []; //文本数据

//判断body中有内容才继续

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, " 转义数据:arr")

let str = "";

arr.forEach((item, index) => {

str += item.text;

})

return str;

}else{

return '';

}

}

}

module.exports = {

getText: getText,

}

调用 getText ()方法

const Gettext = require('../../Gettext.js');

let content ="

乐善好施

"

let newcontent = Gettext.getText(content);

console.log(" 乐善好施 ")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值