小程序wxParse不显示图片,图片链接错误不完整,解决方案!

之前因为配置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, '')//过滤了转义字符\"
}

至此
在这里插入图片描述
完整显示

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值