微信小程序特殊字符轉義方法——&轉義&等等


在我編寫公司小程序的過程中,有一次在網頁端添加了一張圖片,結果在小程序端訪問失敗了,究其原因,竟然是因為該圖片名稱中有一個“&”符號,網頁端添加后,自動轉義成了“&”存儲到了數據庫。當然,這種格式如果是在HTML去訪問圖片地址,會自動在轉義成“&”,但是小程序的WXML並沒有這種功能,所以這就需要我們在小程序端自行操作進行轉義了。

 

首先,明確一下會自動轉義存儲的常用的特殊字符有哪些:

字符 轉義字符
" "
& &
< &lt;
> &gt;
[空格] &nbsp;

 

如果是在<text>標簽中顯示文本內容,可以直接通過設置decode=‘true’的屬性進行轉義。

但因為我是在<image>標簽中訪問,所以小程序中沒有便捷方法可以轉義,寫了一個死方法——replace.js,如下:

//替換URL中特殊字符
function replaceSpecialChar(url) {
  url = url.replace(/&quot;/g, '"');
  url = url.replace(/&amp;/g, '&');
  url = url.replace(/&lt;/g, '<');
  url = url.replace(/&gt;/g, '>');
  url = url.replace(/&nbsp;/g, ' ');
  console.log("轉義字符", url);
  return url;
}
module.exports = {
  replaceSpecialChar: replaceSpecialChar
}

需要用到的時候,在頁面對應的js里面調用該方法:

var replace = require("../../utils/replace.js");
Page({
    ..............
    url = replace.replaceSpecialChar(res.data.url)
})

 

這樣就能訪問到圖片啦~~~

 

/****************************我是可愛的分割線********************************/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM