This package is abandoned and no longer maintained. The author suggests using the league/commonmark package instead.

Intelligently converts ASCII quotes, dashes, and ellipses in Markdown to their Unicode equivalents

Fund package maintenance!

Installs: 43 526

Dependents: 1

Suggesters: 0

Security: 0

Stars: 7

Watchers: 2

Forks: 1

Open Issues: 0


v1.2.0 2020-04-04 15:23 UTC

This package is auto-updated.

Last update: 2020-04-04 15:24:07 UTC


Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads


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>


Via Composer

$ composer require league/commonmark-ext-smartpunct


Extensions can be added to any new Environment:

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 colinodell@gmail.com instead of using the issue tracker.



This library is licensed under the BSD-3 license. See the License File for more information.