unemojify method
This method will unemojify the text containing the Unicode emoji symbols into emoji name.
For example: 'I ❤️ Flutter' => 'I :heart: Flutter'
Implementation
String unemojify(String text) {
// Convert to characters in order to properly match grapheme clusters.
final characters = Characters(text);
final buffer = StringBuffer();
for (final character in characters) {
if (hasEmoji(character)) {
var result = character;
result = result.replaceAll(
character,
getEmoji(character).full,
);
/// Just a quick hack to clear graphical byte from emoji.
/// todo: find better way to get through this tweak
result = result.replaceAll(
EmojiConst.charNonSpacingMark,
EmojiConst.charEmpty,
);
buffer.write(result);
} else {
buffer.write(character);
}
}
return buffer.toString();
}