...
Using a regular expression pattern we can define a special sequence of characters (like : shortname:) to search and replace with the equivalent emoji stored in the LIVECHATSDK.LIVECHAT.emojiShortNames
Emoji_by_ShortName
hash.
The following code search for any shortname that matches the last typed word with preceding and following “:” character. Example :grinning_face:
Code Block | ||
---|---|---|
| ||
// Match <shortcut> + space jQuery("#myTextArea").on("change keyup", function() { var text = jQuery("#myTextArea").val(); text = text.replace( // Regular Expression: search for :shortname: or shortcut (':-)', ':)', ...) new RegExp("(\\:\\w+\\:)$|(.{2,3}\\ )$", "gi"), function(match) { console.log("[CTLIVE] Emoji match", match); if (typeof Emoji_by_ShortName[ match.replace(/\:/g, "") ] !== "undefined") { return Emoji_by_ShortName[ match.replace(/\:/g, "") ]; } else if (typeof Emoji_by_ShortName[ match.trim() ] !== "undefined") { return " " + Emoji_by_ShortName[ match.trim() ] + " "; } else { return match; } } ); jQuery("#myTextArea").val( text ); } ); // Match <shortcut> + new line jQuery("#myTextArea").on("keydown", function(e){ if (e.which == 13) { } } ); |