需引用 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(" 乐善好施 ")
这段代码展示了如何使用html2json.js库将HTML内容转化为JSON,并递归地提取文本数据。主要涉及HTML标签的处理,如遇到'br'标签时插入换行符,以及从body标签中获取文本内容。
4599

被折叠的 条评论
为什么被折叠?



