之前因为配置wxParse不显示图片,
原因一:为图片链接不完整导致
解决方法就是找到wxParse文件夹中的html2json.js进行修改
源代码
//对img添加额外数据
if (node.tag === 'img') {
node.imgIndex = results.images.length;
var imgUrl = node.attr.src;
if (imgUrl[0] == '') {
imgUrl.splice(0, 1);
}
imgUrl = wxDiscode.urlToHttpUrl(imgUrl, __placeImgeUrlHttps);
node.attr.src = imgUrl;
node.from = bindName;
results.images.push(node);
results.imageUrls.push(imgUrl);
}
修改后的增加补全域名网址:
//对img添加额外数据
if (node.tag === 'img') {
node.imgIndex = results.images.length;
var imgUrl = 'https://www.域名.cn'+node.attr.src;//补全网址链接
if (imgUrl[0] == '') {
imgUrl.splice(0, 1);
}
imgUrl = wxDiscode.urlToHttpUrl(imgUrl, __placeImgeUrlHttps);
node.attr.src = imgUrl;
node.from = bindName;
results.images.push(node);
results.imageUrls.push(imgUrl);
}
但是还是未完全显示,检查代码,补全网址与传过来的数据中多了,一对转义代码 "
![在这里插入图片描述](https://img-blog.csdnimg.cn/6fb020ebade94d37bc3aefc10c046ea4.png
解决方法:找到wxParse文件夹中的html2json.js进行修改
修改前
function q(v) {
return '"' + v + '"';
}
function removeDOCTYPE(html) {
return html
.replace(/<\?xml.*\?>\n/, '')
.replace(/<.*!doctype.*\>\n/, '')
.replace(/<.*!DOCTYPE.*\>\n/, '');
}
function trimHtml(html) {
return html
.replace(/\r?\n+/g, '')
.replace(/<!--.*?-->/ig, '')
.replace(/\/\*.*?\*\//ig, '')
.replace(/[ ]+</ig, '<')
}
主要原因是wxParse代码过滤没有过滤完全,需要我们添加正则过滤代码过滤掉,自己需要过滤的转义字符
function q(v) {
return '"' + v + '"';
}
function removeDOCTYPE(html) {
return html
.replace(/<\?xml.*\?>\n/, '')
.replace(/<.*!doctype.*\>\n/, '')
.replace(/<.*!DOCTYPE.*\>\n/, '');
}
function trimHtml(html) {
return html
.replace(/\r?\n+/g, '')
.replace(/<!--.*?-->/ig, '')
.replace(/\/\*.*?\*\//ig, '')
.replace(/[ ]+</ig, '<')
.replace(/\\\'/g, '')//过滤了转义字符\'
.replace(/\\\"/g, '')//过滤了转义字符\"
}
至此
完整显示