Basic Usage
The CommonMarkConverter
class provides a simple wrapper for converting Markdown to HTML:
require __DIR__ . '/vendor/autoload.php';
use League\CommonMark\CommonMarkConverter;
$converter = new CommonMarkConverter();
echo $converter->convertToHtml('# Hello World!');
// <h1>Hello World!</h1>
Or if you want GitHub-Flavored Markdown:
use League\CommonMark\GithubFlavoredMarkdownConverter;
$converter = new GithubFlavoredMarkdownConverter();
echo $converter->convertToHtml('# Hello World!');
// <h1>Hello World!</h1>
Important: See the security section for important details on avoiding security misconfigurations.
The actual conversion process has three steps:
- Creating an
Environment
, adding whichever extensions/parser/renders you need - Parsing the Markdown input into an AST
- Rendering the AST document as HTML
CommonMarkConverter
handles this for you, but you can execute that process yourself if you wish:
require __DIR__ . '/vendor/autoload.php';
use League\CommonMark\DocParser;
use League\CommonMark\Environment;
use League\CommonMark\HtmlRenderer;
$environment = Environment::createCommonMarkEnvironment();
$parser = new DocParser($environment);
$htmlRenderer = new HtmlRenderer($environment);
$markdown = '# Hello World!';
$document = $parser->parse($markdown);
echo $htmlRenderer->renderBlock($document);
// <h1>Hello World!</h1>
Additional customization is also possible, and we have many handy extensions to enable additional syntax and features.
Supported Character Encodings
Please note that only UTF-8 and ASCII encodings are supported. If your Markdown uses a different encoding please convert it to UTF-8 before running it through this library.