pherum / laravel-bbcode
Parse your BBCode easy with this library.
Installs: 16 201
Dependents: 0
Suggesters: 0
Security: 0
Stars: 23
Watchers: 3
Forks: 9
Open Issues: 1
Requires
- illuminate/support: >= 6.0
Requires (Dev)
- phpunit/phpunit: >= 8.0
README
Description
Parse your BBCode easy with laravel-bbcode
Install
Via Composer
composer require pherum/laravel-bbcode
Usage
To parse some text it's as easy as this!
$bbcode = new PheRum\BBCode\BBCodeParser; echo $bbcode->parse('[b]Bold Text![/b]'); // <strong>Bold Text!</strong>
Would like the parser to not use all bbcodes? Just do like this.
$bbcode = new PheRum\BBCode\BBCodeParser; echo $bbcode->only('bold', 'italic') ->parse('[b][u]Bold[/u] [i]Italic[/i]![/b]'); // <strong>[u]Bold[/u] <em>Italic</em>!</strong> echo $bbcode->except('bold') ->parse('[b]Bold[/b] [i]Italic[/i]'); // [b]Bold[/b] <em>Italic</em>
By default the parser is case sensitive. But if you would like the parser to accept tags like [B]Bold Text[/B]
it's really easy.
$bbcode = new PheRum\BBCode\BBCodeParser; // Case insensitive echo $bbcode->parse('[b]Bold[/b] [I]Italic![/I]', true); // <strong>Bold</strong> <em>Italic!</em> // Or like this echo $bbcode->parseCaseInsensitive('[b]Bold[/b] [i]Italic[/i]'); // <strong>Bold</strong> <em>Italic!</em>
You could also make it more explicit that the parser is case sensitive by using another helper function.
$bbcode = new PheRum\BBCode\BBCodeParser; echo $bbcode->parseCaseSensitive('[b]Bold[/b] [I]Italic![/I]'); // <strong>Bold</strong> [I]Italic![/I]
If you would like to completely remove all BBCode it's just one function call away.
$bbcode = new PheRum\BBCode\BBCodeParser; echo $bbcode->stripBBCodeTags('[b]Bold[/b] [i]Italic![/i]'); // Bold Italic!
Laravel integration
The integration into Laravel is really easy, and the method is the same for both Laravel 5.
Just open your app.php
config file.
In there you just add this to your providers array
PheRum\BBCode\BBCodeServiceProvider::class,
And this to your facades array
'BBCode' => PheRum\BBCode\Facades\BBCode::class,
The syntax is the same as if you would use it in vanilla PHP but with the BBCode::
before the methods.
Here are some examples.
// Simple parsing echo BBCode::parse('[b]Bold Text![/b]'); // Limiting the parsers with the only method echo BBCode::only('bold', 'italic') ->parse('[b][u]Bold[/u] [i]Italic[/i]![/b]'); // <strong>[u]Bold[/u] <em>Italic</em>!</strong> // Or the except method echo BBCode::except('bold') ->parse('[b]Bold[/b] [i]Italic[/i]'); // [b]Bold[/b] <em>Italic</em>
Testing
phpunit
Contributing
Please see CONTRIBUTING for details.
Credits
License
The MIT License (MIT). Please see License File for more information.