docs: function parseString(str, options) {
  			return replace(str, function (match, icon, variant) {
  				var
  					ret = match,
  					attrib,
  					attrname,
  					src;
  				// verify the variant is not the FE0E one
  				// this variant means "emoji as text" and should not
  				// require any action/replacement
  				// http://unicode.org/Public/UNIDATA/StandardizedVariants.html
  				if (variant !== '\uFE0E') {
  					src = options.callback(
  						grabTheRightIcon(icon, variant),
  						options,
  						variant
  					);
  					if (src) {
  						// recycle the match string replacing the emoji
  						// with its image counter part
  						ret = '<img '.concat(
  							'class="', options.className, '" ',
  							'draggable="false" ',
  							// needs to preserve user original intent
  							// when variants should be copied and pasted too
  							'alt="',
  							match,
  							'"',
  							' src="',
  							src,
  							'"'
  						);
  						attrib = options.attributes(icon, variant);
  						for (attrname in attrib) {
  							if (
  								attrib.hasOwnProperty(attrname) &&
  									// don't allow any handlers to be set + don't allow overrides
  								attrname.indexOf('on') !== 0 &&
  								ret.indexOf(' ' + attrname + '=') === -1
  							) {
  								ret = ret.concat(' ', attrname, '="', escapeHTML(attrib[attrname]), '"');
  							}
  						}
  						ret = ret.concat('>');
  					}
  				}
  				return ret;
  			});
  		}