https://github.com/poznet/bbcodeparser
BBCode Parser , based on golonka parser
https://github.com/poznet/bbcodeparser
bbcode
Last synced: 2 months ago
JSON representation
BBCode Parser , based on golonka parser
- Host: GitHub
- URL: https://github.com/poznet/bbcodeparser
- Owner: poznet
- License: mit
- Created: 2018-09-02T16:12:53.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-09-02T16:23:09.000Z (over 7 years ago)
- Last Synced: 2025-08-06T13:55:05.944Z (8 months ago)
- Topics: bbcode
- Language: PHP
- Homepage:
- Size: 8.79 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
README
Based on deleted repo - ``Golonka\BBCodeParser``
## Install
Via Composer
``` bash
$ composer require poznet/bbcodeparser
```
## Usage
To parse some text it's as easy as this!
``` php
$bbcode = new poznet\BBCode\BBCodeParser;
echo $bbcode->parse('[b]Bold Text![/b]');
// Bold Text!
```
Would like the parser to not use all bbcodes? Just do like this.
``` php
$bbcode = new poznet\BBCode\BBCodeParser;
echo $bbcode->only('bold', 'italic')
->parse('[b][u]Bold[/u] [i]Italic[/i]![/b]');
// [u]Bold[/u] Italic!
echo $bbcode->except('bold')
->parse('[b]Bold[/b] [i]Italic[/i]');
// [b]Bold[/b] Italic
```
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 poznet\BBCode\BBCodeParser;
// Case insensitive
echo $bbcode->parse('[b]Bold[/b] [I]Italic![/I]', true);
// Bold Italic!
// Or like this
echo $bbcode->parseCaseInsensitive('[b]Bold[/b] [i]Italic[/i]');
// Bold Italic!
```
You could also make it more explicit that the parser is case sensitive by using another helper function.
``` php
$bbcode = new poznet\BBCode\BBCodeParser;
echo $bbcode->parseCaseSensitive('[b]Bold[/b] [I]Italic![/I]');
// Bold [I]Italic![/I]
```
If you would like to completely remove all BBCode it's just one function call away.
``` php
$bbcode = new poznet\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.
Just open your ``app.php`` config file.
In there you just add this to your providers array
``` php
'poznet\BBCode\BBCodeParserServiceProvider'
```
And this to your facades array
``` php
'BBCode' => 'poznet\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
// 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]');
// [u]Bold[/u] Italic!
// Or the except method
echo BBCode::except('bold')
->parse('[b]Bold[/b] [i]Italic[/i]');
// [b]Bold[/b] Italic
```
## Testing
``` bash
$ phpunit
```
## Contributing
Please see [CONTRIBUTING](CONTRIBUTING.md) for details.
## Credits
- [Joseph Landberg](https://github.com/poznet)
- [All Contributors](../../contributors)
## License
The MIT License (MIT). Please see [License File](LICENSE.md) for more information.