JSFiddle - React, Tailwind, and code Playground
HTML
<textarea></textarea>
<button>convert</button>
JavaScript
var map = {
':)': '<img src="/images/happy.jpg"/>',
';(': '<img src="/images/wink.jpg"/>'
};
document.getElementsByTagName('button')[0].addEventListener('click', function() {
var text = document.getElementsByTagName('textarea')[0].value;
Object.keys( map ).forEach(function( ico ) {
// escape special characters for regex
var icoE = ico.replace(/([.?*+^$[\]\\(){}|-])/g, "\\$1");
// now replace actual symbols
text = text.replace( new RegExp(icoE, 'g'), map[ico] );
});
alert(text);
}, false);