s9e/text-formatter
PHP text formatting library with plugin support for BBCode, Markdown, HTML, and more. Includes predefined bundles, extensive documentation, and a JavaScript port for client-side preview and demos. Install via Composer and integrate customizable parsing/rendering.
Fatdown is a bundle based on the Litedown plugin which supports most of Markdown's features, plus the MediaEmbed and FancyPants plugins for media embedding and enhanced typography.
You can try the real-time JavaScript demo, or you can compare Fatdown to various Markdown implementations via the wonderful Babelmark 2.
use s9e\TextFormatter\Bundles\Fatdown as TextFormatter;
$text = '**Fatdown** implements a Markdown-like syntax plus extra Stuff(tm).';
$xml = TextFormatter::parse($text);
$html = TextFormatter::render($xml);
echo $html;
<p><strong>Fatdown</strong> implements a Markdown-like syntax plus extra Stuff™.</p>
Unlike the original Markdown specification and most Markdown flavours, Fatdown's HTML support does not allow JavaScript to be executed and is suitable for untrusted input.
use s9e\TextFormatter\Bundles\Fatdown as TextFormatter;
$text = '<img src="http://127.0.0.1/fake.png" onerror="alert(1)"/>';
$xml = TextFormatter::parse($text);
$html = TextFormatter::render($xml);
echo $html;
<p><img src="http://127.0.0.1/fake.png"></p>
a with a mandatory href attribute and an optional title attributesabbr with an optional title attributeb, em, i, s, strong, ubrcodedl, dt and dddel and insdiv with an optional class attributehrimg with a mandatory src attribute and optional alt and title attributesrb, rp, rt and rtc for all your ruby needsspan with an optional class attributesub and suptable, tbody, tfoot, theadtd with optional colspan and rowspan attributesth with optional colspan, rowspan and scope attributesURLs from the following sites are automatically embedded: Bandcamp, Dailymotion, Facebook, Liveleak, Soundcloud, Spotify, Twitch, Vimeo, Vine and YouTube.
How can I help you explore Laravel packages today?