如何将表情符号代码:wave:解析为HTML中的表情符号

时间:2019-06-03 08:53:04

标签: javascript html angular typescript emoji

我想将常见的表情符号代码(如“:wave:”或“:+1:”)解析为实际的表情图片。

在Angular / HTML / ts / js中有没有一种简便而又快速的方法而无需对字符串进行切片?

预先感谢您:)

2 个答案:

答案 0 :(得分:1)

我使用NPM package Namindu的建议并实现了一个管道来翻译包含表情符号代码的文本,以显示表情符号而不是代码,因为该程序包仅提供了表情符号选择器。

export class EmojiTranslatePipe implements PipeTransform {

  constructor(private emojiService: EmojiService) {
  }

  transform(value: string, args?: any): string {
    let subs = value.split(":");
    subs.forEach(s => {
      let emoji = this.findEmoji(s);
      if (emoji) {
        let emojiCode = `:${s}:`;
        value = value.replace(emojiCode, emoji);
      }
    });
    return value;
  }

  findEmoji(id: string): string | undefined {
    let emoji = this.emojiService.emojis.find(emoji => emoji.id == id);
    if (emoji) {
      return emoji.native;
    }
    return undefined;
  }

}

答案 1 :(得分:0)

尝试使用this NPM软件包。可能对您有帮助。