Skip to content

Instantly share code, notes, and snippets.

@laxman954
Created October 8, 2016 19:54
Show Gist options
  • Save laxman954/f1cce78c7f5fd619dbb285c9fe39e379 to your computer and use it in GitHub Desktop.
Save laxman954/f1cce78c7f5fd619dbb285c9fe39e379 to your computer and use it in GitHub Desktop.
Convert Your HTML Markup to Slack Markup, if found more then add here. #slack #slackmarkup
import java.util.HashMap;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class HTMLToSlackMarkUp {
public static Map<String, String> slackMarkUpMap = new HashMap<String, String>() {
{
put("<strong>", "*");
put("</strong>", "*");
put("<b>", "*");
put("</b>", "*");
put("<br />", "\n");
put("<em>", "_");
put("</em>", "_");
put("<i>", "_");
put("</i>", "_");
put("<strike>", "~");
put("</strike>", "~");
put("<code>", "`");
put("</code>", "`");
put("<pre>", "```");
put("</pre>", "```");
}
};
public static String htmlToSlacify(String htmlMarkup) {
String regexp = "<strong>|</strong>|<b>|</b>|<em>|</em>|<i>|</i>|<strike>|</strike>|<code>|</code>|<pre>|</pre>|<br />";
StringBuffer slackMarkup = new StringBuffer();
Pattern p = Pattern.compile(regexp);
Matcher m = p.matcher(htmlMarkup);
while (m.find())
m.appendReplacement(slackMarkup, slackMarkUpMap.get(m.group()));
m.appendTail(slackMarkup);
return slackMarkup.toString();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment