摘要:在獲取富文本后,又只要顯示部分內容,需要去除富文本標簽,然后再截取其中一部分內容然后就是過濾器,在微信小程序中使用還是挺多次的,在及中也遇到過富文本去除標簽去除標簽及空格的豐富及餓哦塞爾去除富文本中的標簽限定符都是貪婪的,因為它們會盡可能
1.富文本去除html標簽</>復制代碼
在獲取富文本后,又只要顯示部分內容,需要去除富文本標簽,然后再截取其中一部分內容;然后就是過濾器,在微信小程序中使用還是挺多次的,在vue及react中也遇到過
去除html標簽及?空格
</>復制代碼
let richText = " sdaflsjf的豐富及餓哦塞爾
dsfjlie";
/* 去除富文本中的html標簽 */
/* *、+限定符都是貪婪的,因為它們會盡可能多的匹配文字,只有在它們的后面加上一個?就可以實現非貪婪或最小匹配。*/
let content = richText.replace(/<.+?>/g, "");
console.log(content);
/* 去除 */
content = content.replace(/ /ig, "");
console.log(content);
/* 去除空格 */
content = content.replace(/s/ig, "");
console.log(content);
截取字符串
</>復制代碼
content = formatRichText(content);
console.log(content);
/* 使用substring來截取字符串 */
if (content.length > 10) {
content = content.substring(0, 10) + "...";
}
console.log(content);
/* 限制字數后添加省略號 */
function formatRichText(richText) {
let temporaryText = "";
/* 設置多長后添加省略號 */
const len = 142;
if (richText.length * 2 <= len) {
return richText;
}
/* 用于記錄文字內容的總長度 */
let strLength = 0;
for (let i = 0; i < richText.length; i++) {
temporaryText = temporaryText + richText.charAt(i);
/* charCodeAt()返回指定位置的字符的Unicode編碼,值為128以下時一個字符占一位,當值在128以上是一個字符占兩位 */
if (richText.charCodeAt(i) > 128) {
strLength = strLength + 2;
if (strLength >= len) {
return temporaryText.substring(0, temporaryText.length - 1) + "...";
}
} else {
strLength = strLength + 1;
if (strLength >= len) {
return temporaryText.substring(0, temporaryText.length - 2) + "...";
}
}
}
return temporaryText;
}
2.vue中使用過濾器
</>復制代碼
filters: {
localData(value) {
let date = new Date(value * 1000);
let Month = date.getMonth() + 1;
let Day = date.getDate();
let Y = date.getFullYear() + "年";
let M = Month < 10 ? "0" + Month + "月" : Month + "月";
let D = Day + 1 < 10 ? "0" + Day + "日" : Day + "日";
let hours = date.getHours();
let minutes = date.getMinutes();
let hour = hours < 10 ? "0" + hours + ":" : hours + ":";
let minute = minutes < 10 ? "0" + minutes : minutes;
return Y + M + D + " " + hour + minute;
}
}
/* 使用,直接在div中添加就可以了,| 前面的是參數,后面的是過濾器 */
{{data.etime | localData}}
3.微信小程序中使用過濾器
新建.wxs文件
</>復制代碼
var localData = function (value) {
var date = getDate(value * 1000);
var Month = date.getMonth() + 1;
var Day = date.getDate();
var hours = date.getHours(); //計算剩余的小時
var minutes = date.getMinutes(); //計算剩余的分鐘
var Y = date.getFullYear() + "-";
var M = Month < 10 ? "0" + Month + "-" : Month + "-";
var D = Day + 1 < 10 ? "0" + Day + "" : Day + "";
var H = hours < 10 ? "0" + hours + ":" : hours + ":"
var m = minutes < 10 ? "0" + minutes : minutes;
return Y+M + D + " " + H + m;
}
module.exports = {
localData: localData
}
使用,用
</>復制代碼
{{tool.filterScore(item.shop.score)}}分
直接在.wxml文件中用
</>復制代碼
var some_msg = "hello world";
module.exports = {
msg : some_msg,
}
{{foo.msg}}
4.react中使用
react中使用,其實就是定義一個方法
</>復制代碼
import noBanner from "@/assets/storeDetail/no-banner.jpg"
const filterImg = item => {
let bgImg;
if (item.shopimages == null) {
bgImg = noBanner;
} else {
bgImg = item.shopimages[0];
}
return bgImg;
};
/* 使用 */
</>復制代碼
正在努力學習中,若對你的學習有幫助,留下你的印記唄(點個贊咯^_^)
往期好文推薦:
判斷iOS和Android及PC端
純css實現瀑布流(multi-column多列及flex布局)
實現多行文字及單行的省略號
微信小程序之購物車和父子組件傳值及calc的注意事項
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/108730.html
摘要:并總結經典面試題集各種算法和插件前端視頻源碼資源于一身的文檔,優化項目,在瀏覽器端的層面上提升速度,幫助初中級前端工程師快速搭建項目。 本文是關注微信小程序的開發和面試問題,由基礎到困難循序漸進,適合面試和開發小程序。并總結vue React html css js 經典面試題 集各種算法和插件、前端視頻源碼資源于一身的文檔,優化項目,在瀏覽器端的層面上提升速度,幫助初中級前端工程師快...
摘要:并總結經典面試題集各種算法和插件前端視頻源碼資源于一身的文檔,優化項目,在瀏覽器端的層面上提升速度,幫助初中級前端工程師快速搭建項目。 本文是關注微信小程序的開發和面試問題,由基礎到困難循序漸進,適合面試和開發小程序。并總結vue React html css js 經典面試題 集各種算法和插件、前端視頻源碼資源于一身的文檔,優化項目,在瀏覽器端的層面上提升速度,幫助初中級前端工程師快...
摘要:并總結經典面試題集各種算法和插件前端視頻源碼資源于一身的文檔,優化項目,在瀏覽器端的層面上提升速度,幫助初中級前端工程師快速搭建項目。 本文是關注微信小程序的開發和面試問題,由基礎到困難循序漸進,適合面試和開發小程序。并總結vue React html css js 經典面試題 集各種算法和插件、前端視頻源碼資源于一身的文檔,優化項目,在瀏覽器端的層面上提升速度,幫助初中級前端工程師快...
閱讀 1589·2021-09-02 15:41
閱讀 997·2021-09-02 15:11
閱讀 1278·2021-07-28 00:15
閱讀 2307·2019-08-30 15:55
閱讀 1144·2019-08-30 15:54
閱讀 1692·2019-08-30 15:54
閱讀 2975·2019-08-30 14:02
閱讀 2523·2019-08-29 16:57