cleanTalk.ts 847 B

123456789101112131415161718192021222324252627
  1. import { Talk } from '@/features/chat/messages';
  2. export function cleanTalk(talk: Talk) {
  3. // remove emoticons
  4. talk.message = talk.message.replace(/[\u{1F600}-\u{1F64F}]/gu, '');
  5. // symbols & pictographs (1F300–1F5FF)
  6. talk.message = talk.message.replace(/[\u{1F300}-\u{1F5FF}]/gu, '');
  7. // transport & map symbols (1F680–1F6FF)
  8. talk.message = talk.message.replace(/[\u{1F680}-\u{1F6FF}]/gu, '');
  9. // flags (1F1E6–1F1FF)
  10. talk.message = talk.message.replace(/[\u{1F1E0}-\u{1F1FF}]/gu, '');
  11. // remove smiley faces
  12. talk.message = talk.message.replace(/ :\)/gu, ' ');
  13. talk.message = talk.message.replace(/ :D/gu, ' ');
  14. talk.message = talk.message.replace(/^:\)/gu, '');
  15. talk.message = talk.message.replace(/^:D/gu, '');
  16. // remove double spaces
  17. talk.message = talk.message.replace(/ /g, ' ');
  18. return talk;
  19. }