Intelligently converts ASCII quotes, dashes, and ellipses in Markdown to their Unicode equivalents
This extension has been deprecated. All of its functionality now exists in
league/commonmark 1.3+ under the
League\CommonMark\Extension\SmartPunct namespace, so you should upgrade to that version and use that bundled extension instead of this one.
Intelligently converts ASCII quotes, dashes, and ellipses to their Unicode equivalents. For use with the
league/commonmark Markdown parser for PHP.
For example, this Markdown...
"CommonMark is the PHP League's Markdown parser," she said. "It's super-configurable... you can even use additional extensions to expand its capabilities -- just like this one!"
Will result in this HTML:
<p>“CommonMark is the PHP League’s Markdown parser,” she said. “It’s super-configurable… you can even use additional extensions to expand its capabilities – just like this one!”</p>
$ composer require league/commonmark-ext-smartpunct
Extensions can be added to any new
use League\CommonMark\CommonMarkConverter; use League\CommonMark\Environment; use League\CommonMark\Ext\SmartPunct\SmartPunctExtension; // Obtain a pre-configured Environment with all the CommonMark parsers/renderers ready-to-go $environment = Environment::createCommonMarkEnvironment(); // Add this extension $environment->addExtension(new SmartPunctExtension()); // Set your configuration $config = [ 'smartpunct' => [ 'double_quote_opener' => '“', 'double_quote_closer' => '”', 'single_quote_opener' => '‘', 'single_quote_closer' => '’', ], ]; // Instantiate the converter engine and start converting some Markdown! $converter = new CommonMarkConverter($config, $environment); echo $converter->convertToHtml('# Hello World!');
Please see CHANGELOG for more information what has changed recently.
$ composer test
If you discover any security related issues, please email firstname.lastname@example.org instead of using the issue tracker.
This library is licensed under the BSD-3 license. See the License File for more information.