Skip to content

Instantly share code, notes, and snippets.

@dennisslimmers
Created December 13, 2017 10:43
Show Gist options
  • Save dennisslimmers/4b63db37e640d74acb29d4e1f24e9acd to your computer and use it in GitHub Desktop.
Save dennisslimmers/4b63db37e640d74acb29d4e1f24e9acd to your computer and use it in GitHub Desktop.
C# Method for stripping Markdown tags from regular text
public class StringHelper
{
/// <summary>
/// https://github.com/stiang/remove-markdown/blob/master/index.js
/// </summary>
/// <param name="content"></param>
/// <returns></returns>
private string StripMarkdownTags(string content)
{
// Headers
content = Regex.Replace(content, "/\n={2,}/g", "\n");
// Strikethrough
content = Regex.Replace(content, "/~~/g", "");
// Codeblocks
content = Regex.Replace(content, "/`{3}.*\n/g", "");
// HTML Tags
content = Regex.Replace(content, "/<[^>]*>/g", "");
// Remove setext-style headers
content = Regex.Replace(content, "/^[=\\-]{2,}\\s*$/g", "");
// Footnotes
content = Regex.Replace(content, "/\\[\\^.+?\\](\\: .*?$)?/g", "");
content = Regex.Replace(content, "/\\s{0,2}\\[.*?\\]: .*?$/g", "");
// Images
content = Regex.Replace(content, "/\\!\\[.*?\\][\\[\\(].*?[\\]\\)]/g", "");
// Links
content = Regex.Replace(content, "/\\[(.*?)\\][\\[\\(].*?[\\]\\)]/g", "$1");
return content;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment