正则表达式 - javascript 替换表情字符

查看:316
本文介绍了正则表达式 - javascript 替换表情字符的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

代码如下,目的是将表情字符串替换成图片

EmojiParser.parse('哈哈哈哈哈(normal)哈哈哈(surprise)');

这样只能替换第一个(normal),第二个无法替换,请问怎么修改?

export default class EmojiParser {
  static emojiSeries =[{
    id: 101,
    name: 'normal'
  }, {
    id: 102,
    name: 'surprise'
  }];

  static parse(content) {
    return content.replace(/(\(.*\))/, (match) => {
      let replaceStr = '';
      for (const series of EmojiParser.emojiSeries) {
        if (match === `(${series.name})`) {
          replaceStr += `<img width="28" height="28" src="https://source.pixiv.net/common/images/emoji/${series.id}.png" />`;
        }
      }
      return replaceStr === '' ? match : replaceStr
    });
  }
}

解决方案

/(\(.*\))/ 换成 /(\(.*\))/g 即可。g 代表 global 全局替换。

这篇关于正则表达式 - javascript 替换表情字符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆