微信emoji表情web显示

main.js注册过滤器

import {oldarr,newarr} from '@/util/emojilist.js'
Vue.filter("emojiText",function(str){
  // 操作新emoji
  let currentarr = newarr;
  var regx = new RegExp(/\[(.+?)\]/g);
  var firstarr = str.split(regx);
  if(firstarr){
    console.log(111);
    console.log(firstarr);
    str = '';
    for(var l = 0; l < firstarr.length; l++){
      for(var m = 0; m < newarr.length; m++){
        if(firstarr[l].indexOf(newarr[m].text)!=-1){
          // i--;
          firstarr[l] = firstarr[l].replace(newarr[m].text,newarr[m].icon)
          break;
        }
      }
    }

    for(var n = 0; n < firstarr.length; n++){
      str+=firstarr[n];
    }
  }
  
  // 操作旧版emoji
  let basearr = oldarr;
  var strs = str.split('/:');
  if(strs.length>1){
    str = '';
    for(var i = 0; i < strs.length; i++){
      for(var j = 0; j < basearr.length; j++){
        if(strs[i].indexOf(basearr[j].text)!=-1){
          strs[i] = strs[i].replace(basearr[j].text,basearr[j].icon)
          break;
        }
      }
    }
    for(var k = 0; k < strs.length; k++){
      str+=strs[k];
    }
  }
  return str;
})
emojilist.js存放微信emoji列表
export let oldarr =  [
    {
      icon: "😀",
      text: ":)",
    },.....
];

export let newarr = [
    {
        icon:"😀",
        text:"Happy"
    },.....
]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值