富文本编辑器生成的HTML标签怎么解释?
是没用的。
第一种方法:只能处理简单的HTML标签,img解释不了,连“ ”也处理不了,好处就是 代码少,无须引入文件。
//util.js
var convertHtmlToText = inputText => {
var returnText = "" + inputText;
returnText = returnText.replace(//ig, '\r\n');
returnText = returnText.replace(//ig, '\r\n');
returnText = returnText.replace(/
/ig, ' * ');returnText = returnText.replace(//ig, '\r\n');
//-- remove BR tags and replace them with line break
returnText = returnText.replace(/
/gi, "\r\n");
//-- remove P and A tags but preserve what's inside of them
returnText = returnText.replace(/
/gi, "\r\n");returnText = returnText.replace(/(.*?)/gi, " $2 ($1)");
//-- remove all inside SCRIPT and STYLE tags
returnText = returnText.replace(/[\w\W]{1,}(.*?)[\w\W]{1,}/gi, "");
returnText = returnText.replace(/[\w\W]{1,}(.*?)[\w\W]{1,}/gi, "");
//-- remove all else
returnText = returnText.replace(//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(/
returnText = returnText.replace(/>/gi, '>');
return returnText;
}
module.exports = { convertHtmlToText }
调用:
const utils = require('../../utils/utils.js') // 引入
wx.request(
url,
success: res => {
this.setData({
article: utils.convertHtmlToText(res.data.content )
})
}
)
第二种方法:解释能力非常强,要引入插件,大概460k左右(不包含emoj 150k左右)
去Github下载 wxParse插件地址(里面的教程更详细)
const WxParse = require('../../wxParse/wxParse.js');
wx.request(
url,
success: res => {
/*this.setData({
article: res.data.article
})*/
WxParse.wxParse('article', 'html', res.data.article, that, 20);
}
)
感谢浏览,欢迎评论指正,转载请标明出处。