Dropped support for PHP <8.1

This commit is contained in:
2022-12-07 07:35:29 +02:00
parent 07c550b319
commit 0dc449e48d
7 changed files with 73 additions and 88 deletions

View File

@@ -5,104 +5,110 @@
[![Quality Score](https://img.shields.io/scrutinizer/g/ivuorinen/bbcodeparser/master.svg?style=flat-square)](https://scrutinizer-ci.com/g/ivuorinen/bbcodeparser)
[![Total Downloads](https://img.shields.io/packagist/dt/ivuorinen/bbcodeparser.svg?style=flat-square)](https://packagist.org/packages/ivuorinen/bbcodeparser)
The ``ivuorinen\BBCodeParser`` package will help you with parsing BBCode.
The `ivuorinen\BBCodeParser` package will help you with parsing BBCode.
This package is build on work by [Joseph Landberg](https://github.com/golonka).
## Install
Via Composer
``` bash
$ composer require ivuorinen/bbcodeparser
```
composer require ivuorinen/bbcodeparser
```
## Usage
To parse some text it's as easy as this!
``` php
$bbcode = new ivuorinen\BBCode\BBCodeParser;
```php
$bbcode = new ivuorinen\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.
``` php
$bbcode = new ivuorinen\BBCode\BBCodeParser;
echo $bbcode->only('bold', 'italic')
->parse('[b][u]Bold[/u] [i]Italic[/i]![/b]');
// <strong>[u]Bold[/u] <em>Italic</em>!</strong>
```php
$bbcode = new ivuorinen\BBCode\BBCodeParser();
echo $bbcode->except('bold')
->parse('[b]Bold[/b] [i]Italic[/i]');
// [b]Bold[/b] <em>Italic</em>
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.
``` php
$bbcode = new ivuorinen\BBCode\BBCodeParser;
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.
```php
$bbcode = new ivuorinen\BBCode\BBCodeParser();
// Case insensitive
echo $bbcode->parse('[b]Bold[/b] [I]Italic![/I]', true);
// <strong>Bold</strong> <em>Italic!</em>
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>
// 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.
``` php
$bbcode = new ivuorinen\BBCode\BBCodeParser;
echo $bbcode->parseCaseSensitive('[b]Bold[/b] [I]Italic![/I]');
// <strong>Bold</strong> [I]Italic![/I]
You could also make it more explicit that the parser is case-sensitive by using another helper function.
```php
$bbcode = new ivuorinen\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.
``` php
$bbcode = new ivuorinen\BBCode\BBCodeParser;
echo $bbcode->stripBBCodeTags('[b]Bold[/b] [i]Italic![/i]');
// Bold Italic!
```php
$bbcode = new ivuorinen\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 4 and Laravel 5.
This package supports Laravel Package Auto-Discovery, so it should be picked up automatically.
If you don't want auto-discovery, or because of old habits, just open your ``app.php`` config file.
In there you just add this to your providers array
``` php
```php
'ivuorinen\BBCode\BBCodeParserServiceProvider'
```
And this to your facades array
``` php
```php
'BBCode' => 'ivuorinen\BBCode\Facades\BBCodeParser'
```
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.
``` php
```php
// 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>
->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>
->parse('[b]Bold[/b] [i]Italic[/i]'); // [b]Bold[/b] <em>Italic</em>
```
## Testing
``` bash
$ phpunit
composer test
```
## Contributing
@@ -113,7 +119,7 @@ Please see [CONTRIBUTING](CONTRIBUTING.md) for details.
- [Ismo Vuorinen](https://github.com/ivuorinen)
- [Joseph Landberg](https://github.com/golonka)
- [All Contributors](../../contributors)
- [All Contributors](https://github.com/ivuorinen/bbcodeparser/contributors)
## License