在我编写公司小程序的过程当中,有一次在网页端添加了一张图片,结果在小程序端访问失败了,究其缘由,居然是由于该图片名称中有一个“&”符号,网页端添加后,自动转义成了“&”存储到了数据库。固然,这种格式若是是在HTML去访问图片地址,会自动在转义成“&”,可是小程序的WXML并无这种功能,因此这就须要咱们在小程序端自行操做进行转义了。数据库
首先,明确一下会自动转义存储的经常使用的特殊字符有哪些:小程序
字符 | 转义字符 |
" | " |
& | & |
< | < |
> | > |
[空格] | |
若是是在<text>标签中显示文本内容,能够直接经过设置decode=‘true’的属性进行转义。ui
但由于我是在<image>标签中访问,因此小程序中没有便捷方法能够转义,写了一个死方法——replace.js,以下:url
//替换URL中特殊字符 function replaceSpecialChar(url) { url = url.replace(/"/g, '"'); url = url.replace(/&/g, '&'); url = url.replace(/</g, '<'); url = url.replace(/>/g, '>'); url = url.replace(/ /g, ' '); console.log("转义字符", url); return url; } module.exports = { replaceSpecialChar: replaceSpecialChar }
须要用到的时候,在页面对应的js里面调用该方法:spa
var replace = require("../../utils/replace.js"); Page({ .............. url = replace.replaceSpecialChar(res.data.url) })
这样就能访问到图片啦~~~3d
/****************************我是可爱的分割线********************************/code