'Plain text', MSZ_PARSER_BBCODE => 'BB Code', MSZ_PARSER_MARKDOWN => 'Markdown', ]); function parser_is_valid(int $parser): bool { return in_array($parser, MSZ_PARSERS, true); } function parser_name(int $parser): string { return parser_is_valid($parser) ? MSZ_PARSERS_NAMES[$parser] : ''; } function parse_text(string $text, int $parser): string { if (!parser_is_valid($parser)) { return ''; } switch ($parser) { case MSZ_PARSER_MARKDOWN: return MarkdownParser::instance()->parseText($text); case MSZ_PARSER_BBCODE: return BBCodeParser::instance()->parseText($text); case MSZ_PARSER_PLAIN: return nl2br($text); } } function parse_line(string $line, int $parser): string { if (!parser_is_valid($parser)) { return ''; } switch ($parser) { case MSZ_PARSER_MARKDOWN: return MarkdownParser::instance()->parseLine($line); case MSZ_PARSER_BBCODE: return BBCodeParser::instance()->parseLine($line); case MSZ_PARSER_PLAIN: return $line; } }