富文本编辑器生成的HTML
标签怎么解释?
<rich-text><rich-text>
是没用的。
- 第一种方法:只能处理简单的HTML标签,img解释不了,连“ ”也处理不了,好处就是 代码少,无须引入文件。
//util.js
var 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;
}
module.exports = { convertHtmlToText }
调用:
const utils = require('../../utils/utils.js') // 引入
wx.request(
url,
success: res => {
this.setData({
article: utils.convertHtmlToText(res.data.content )
})
}
)
参考文档:http://www.jianshu.com/p/74a6cbc21b41
-
第二种方法:解释能力非常强,要引入插件,大概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);
}
)
感谢浏览,欢迎评论指正,转载请标明出处。
网友评论