中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎樣去除富文本中的html標簽及vue、react、微信小程序中的過濾器

發布時間:2021-02-08 09:41:32 來源:億速云 閱讀:698 作者:小新 欄目:web開發

小編給大家分享一下怎樣去除富文本中的html標簽及vue、react、微信小程序中的過濾器,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

在獲取富文本后,又只要顯示部分內容,需要去除富文本標簽,然后再截取其中一部分內容;然后就是過濾器,在微信小程序中使用還是挺多次的,在vue及react中也遇到過

1.富文本去除html標簽

去除html標簽及 空格

let richText = ' <p >&nbsp; &nbsp; &nbsp; &nbsp;sdaflsjf的豐富及餓哦塞爾</p><span>dsfjlie</span>';
/* 去除富文本中的html標簽 */
/* *、+限定符都是貪婪的,因為它們會盡可能多的匹配文字,只有在它們的后面加上一個?就可以實現非貪婪或最小匹配。*/
let content = richText.replace(/<.+?>/g, '');
console.log(content);
/* 去除&nbsp; */
content = content.replace(/&nbsp;/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中添加就可以了,| 前面的是參數,后面的是過濾器 */
<div class="time">{{data.etime | localData}}</div>

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
}

使用,用<wxs />標簽來引入,src為路徑,module為引入的文件模塊名

<wxs src="./filters.wxs" module="tool" />
<text class="scoreText">{{tool.filterScore(item.shop.score)}}分</text>

直接在.wxml文件中用<wxs></wxs>包裹

<wxs module="foo">
var some_msg = "hello world";
module.exports = {
  msg : some_msg,
}
</wxs>
<view> {{foo.msg}} </view>

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;
};
/* 使用 */ 
<img src={filterImg(storeitem)} className={style.topImg} alt="" />

看完了這篇文章,相信你對“怎樣去除富文本中的html標簽及vue、react、微信小程序中的過濾器”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

龙口市| 如皋市| 老河口市| 武川县| 内乡县| 西丰县| 扬州市| 蒙自县| 新蔡县| 牙克石市| 福鼎市| 元阳县| 昭苏县| 锦屏县| 忻州市| 铅山县| 清流县| 安福县| 醴陵市| 宜昌市| 肇东市| 乳山市| 新乡县| 佛冈县| 内黄县| 汉川市| 启东市| 太仆寺旗| 石泉县| 冕宁县| 博兴县| 松原市| 绿春县| 仲巴县| 栾川县| 大宁县| 蓝田县| 隆化县| 忻城县| 门头沟区| 孝感市|