Multi-purpose text formatting and markup library. Plugins offer support for BBCodes, Markdown, emoticons, HTML, embedding third-party media (YouTube, etc...), enhanced typography and more.

2.8.6 2021-03-29 09:41 UTC


s9e\TextFormatter is a text formatting library that supports BBCode, Markdown, HTML and other markup via plugins. The library is written in PHP, with a JavaScript port also available for client-side preview (see below.)

Packagist Version Build Status Coverage Status Scrutinizer Quality Score Documentation


The best way to install s9e\TextFormatter is via Composer. See Installation.

composer require s9e/text-formatter


If you can only read one example, read how to use a bundle.

You can run the scripts directly from the examples directory and you will find in the manual a description of each plugin as well as other examples.


Versioning is meant to follow Semantic Versioning. You can read about API changes in the documentation.

Online demo

You can try the JavaScript version in this BBCodes + other stuff demo, or this Markdown + stuff (Fatdown) demo.

Development tools

The following tools are used during development.

  • phpunit/phpunit 9.5.1 runs a full suite of tests before every commit.
  • code-lts/doctum 5.3.1 generates the API docs.
  • Travis, Scrutinizer, and Coveralls are used for automated testing and code tracking.