* Website: https://github.com/jbroadway/slimdown * License: MIT */ class Slimdown { public static $rules = array ( '/```(.*?)```/s' => self::class .'::code_parse', // code blocks '/\n(#+)\s+(.*)/' => self::class .'::header', // headers '/\!\[([^\[]*?)\]\(([^\)]+)\)/' => self::class .'::img', // images '/\[([^\[]+)\]\(([^\)]+)\)/' => self::class .'::link', // links '/(\*\*|__)(?=(?:(?:[^`]*`[^`\r\n]*`)*[^`]*$))(?![^\/<]*>.*<\/.+>)(.*?)\1/' => '\2', // bold '/(\*|_)(?=(?:(?:[^`]*`[^`\r\n]*`)*[^`]*$))(?![^\/<]*>.*<\/.+>)(.*?)\1/' => '\2', // emphasis '/(\~\~)(?=(?:(?:[^`]*`[^`\r\n]*`)*[^`]*$))(?![^\/<]*>.*<\/.+>)(.*?)\1/' => '\2', // del '/\:\"(.*?)\"\:/' => '\1', // quote '/`(.*?)`/' => '\1', // inline code '/\n\*(.*)/' => self::class .'::ul_list', // ul lists '/\n[0-9]+\.(.*)/' => self::class .'::ol_list', // ol lists '/\n(>|\>)(.*)/' => self::class .'::blockquote', // blockquotes '/\n-{5,}/' => "\n
", // horizontal rule '/\n([^\n]+)\n/' => self::class .'::para', // add paragraphs '/<\/ul>\s?