1. 程式人生 > 其它 >微信小程式 解析 富文字編輯器的空格不成功 頁面出現&nbsp的一些解決方案。

微信小程式 解析 富文字編輯器的空格不成功 頁面出現&nbsp的一些解決方案。

技術標籤:微信小程式小程式

後臺富文字編輯器的空格 在小程式端直接以符號顯示出來,沒有空格的效果如下:

解決方案一 :小程式端讀不到輸入法的半形空格,但是能讀取到輸入法的全形空格。

半形空格:在打空格的時候輸入法調成半形 。"我是半形空 格空 格"。在小程式端顯示為"我是半形空&nbsp格空&nbsp格"。

全形空格:在打空格的時候輸入法調成全形。"我是全形空 格空 格"。在小程式端顯示為"我是全形空 格空 格"。

解決方案二:

找到wxParse資料夾下的wxDiscode.js方法

把
function r(e) {
    return e = e.replace(/ /g, " "),
           e = e.replace(/"/g, "'"), 
           e = e.replace(/&/g, "&"), 
    e = e.replace(/&lt;/g, "<"), e = e.replace(/&gt;/g, ">");
}

修改為:

function r(e) {
    return e = e.replace(/&nbsp;/g, "\xa0"),
           e = e.replace(/&quot;/g, "'"), 
           e = e.replace(/&amp;/g, "&"), 
    e = e.replace(/&lt;/g, "<"), e = e.replace(/&gt;/g, ">");
}




這是普遍的方法,如果發現沒用

把e = e.replace(/&amp;/g, "&"),
移動到 e = e.replace(/&nbsp;/g, "\xa0"),上方
如下:

function r(e) {
    return e = e.replace(/&amp;/g, "&"), 
           e = e.replace(/&nbsp;/g, "\xa0"), 
           e = e.replace(/&quot;/g, "'"),  
    e = e.replace(/&lt;/g, "<"), e = e.replace(/&gt;/g, ">");
}

這樣就可以了,小程式端不再出現&nbsp;的情況。
有的可以不修改,只需要把e = e.replace(/&amp;/g, "&"),
移動到 e = e.replace(/&nbsp;/g, " "),上方就行。

以上兩種解決方案親測有效,在開發者工具,手機上都顯示正常。

參考自:https://blog.csdn.net/m0_48495739/article/details/109113125