PHPackages                             decodelabs/idiom - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Parsing &amp; Serialization](/categories/parsing)
4. /
5. decodelabs/idiom

ActiveLibrary[Parsing &amp; Serialization](/categories/parsing)

decodelabs/idiom
================

Lightwight text to HTML parser

v0.3.6(9mo ago)11.1kMITPHPPHP ^8.4CI passing

Since Mar 16Pushed 5d ago2 watchersCompare

[ Source](https://github.com/decodelabs/idiom)[ Packagist](https://packagist.org/packages/decodelabs/idiom)[ RSS](/packages/decodelabs-idiom/feed)WikiDiscussions develop Synced 1w ago

READMEChangelog (10)Dependencies (4)Versions (15)Used By (0)

Idiom
=====

[](#idiom)

[![PHP from Packagist](https://camo.githubusercontent.com/15a89b669a0273272b22bb0362bf37c7ad0e5034d9d7484013634182a621b1a7/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f6465636f64656c6162732f6964696f6d3f7374796c653d666c6174)](https://packagist.org/packages/decodelabs/idiom)[![Latest Version](https://camo.githubusercontent.com/ac6f6df1ae0832ff17563ff35c6c003c25b74797b20ef140d4a9056194b00b9c/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6465636f64656c6162732f6964696f6d2e7376673f7374796c653d666c6174)](https://packagist.org/packages/decodelabs/idiom)[![Total Downloads](https://camo.githubusercontent.com/855646a8ddb4825cab6ce738b3d73056a7ef9a3d80202a6a67e91a4d1f112dbe/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6465636f64656c6162732f6964696f6d2e7376673f7374796c653d666c6174)](https://packagist.org/packages/decodelabs/idiom)[![GitHub Workflow Status](https://camo.githubusercontent.com/e25dd0e898133f5f73865027e284480e2642734d7e99d2475c339b14e43be9e4/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6465636f64656c6162732f6964696f6d2f696e746567726174652e796d6c3f6272616e63683d646576656c6f70)](https://github.com/decodelabs/idiom/actions/workflows/integrate.yml)[![PHPStan](https://camo.githubusercontent.com/e25c14ce011edabdd0fbd2e10415b41cc5d66ed11ef3e5b7edd074c5bdd35a2d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048505374616e2d656e61626c65642d3434434331312e7376673f6c6f6e6743616368653d74727565267374796c653d666c6174)](https://github.com/phpstan/phpstan)[![License](https://camo.githubusercontent.com/71ed7387e71ced6a3276f942a4a9551eeb26130b06ea72ef06aa654d21f83590/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6465636f64656c6162732f6964696f6d3f7374796c653d666c6174)](https://packagist.org/packages/decodelabs/idiom)

### Lightweight text to HTML parser - tags optional

[](#lightweight-text-to-html-parser---tags-optional)

Idiom provides a simple and easy to use text parser that can convert natural language with an optional subset of HTML tags to full markup ready for consumption.

---

Installation
------------

[](#installation)

This package requires PHP 8.4 or higher.

Install via Composer:

```
composer require decodelabs/idiom
```

Usage
-----

[](#usage)

Parse a block of text with optional HTML tags into rendered HTML:

```
use DecodeLabs\Idiom\Parser;

$content =
