Skip to content

Repository files navigation

Laravel BBCode

Latest Version on PackagistSoftware LicenseBuild StatusStyleCIQuality ScoreTotal Downloads

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 = newPheRum\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 = newPheRum\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 = newPheRum\BBCode\BBCodeParser;
// Case insensitiveecho$bbcode->parse('[b]Bold[/b] [I]Italic![/I]', true); // <strong>Bold</strong> <em>Italic!</em>// Or like thisecho$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 = newPheRum\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 = newPheRum\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 parsingecho BBCode::parse('[b]Bold Text![/b]');
// Limiting the parsers with the only methodecho BBCode::only('bold', 'italic')
->parse('[b][u]Bold[/u] [i]Italic[/i]![/b]'); // <strong>[u]Bold[/u] <em>Italic</em>!</strong>// Or the except methodecho 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.

About

Parse your BBCode easy with laravel-bbcode

Topics

Resources

Contributing

Stars

25 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages