parseEmojis function
Parses Strings containing emoiji(s) in a text syntax like :taco: to 🌮
Implementation
String parseEmojis(String val) {
String value = val;
try {
value = value.replaceAllMapped(RegExp(r'(?=:)([^\s])(.*?)([^\s])(:)'),
(Match m) {
String? m2;
if ((m[0]?.startsWith(':') ?? false) &&
(m[0]?.endsWith(':') ?? false) &&
!(m[0]?.contains(' ') ?? false)) {
m2 = (m[0]!.substring(1, m[0]!.length - 1));
}
if (!isNullOrEmpty(m2) &&
!(m2?.contains(':') ?? false) &&
!(m2?.contains(' ') ?? false) &&
Emoji.emoji[m2?.toLowerCase()] != null) {
return Emoji.emoji[m2?.toLowerCase()]!;
}
return m[0] ?? m.toString();
});
} catch (e) {
return val;
}
return value;
}