mirror of
https://github.com/ivuorinen/bbcodeparser.git
synced 2026-01-26 03:13:57 +00:00
Dropped support for PHP <8.1
This commit is contained in:
2
.github/workflows/php.yml
vendored
2
.github/workflows/php.yml
vendored
@@ -14,7 +14,7 @@ jobs:
|
||||
strategy:
|
||||
matrix:
|
||||
operating-system: ['ubuntu-latest']
|
||||
php-versions: ['7.4', '8.0', '8.1']
|
||||
php-versions: ['8.1']
|
||||
phpunit-versions: ['latest']
|
||||
|
||||
steps:
|
||||
|
||||
3
.gitignore
vendored
3
.gitignore
vendored
@@ -1,2 +1,3 @@
|
||||
/vendor
|
||||
vendor
|
||||
composer.lock
|
||||
*.cache
|
||||
|
||||
22
.travis.yml
22
.travis.yml
@@ -1,22 +0,0 @@
|
||||
language: php
|
||||
php:
|
||||
- 7.3
|
||||
- 7.4
|
||||
- 8.0
|
||||
- 8.1
|
||||
- nightly
|
||||
matrix:
|
||||
allow_failures:
|
||||
- php: nightly
|
||||
fast_finish: true
|
||||
cache:
|
||||
directories:
|
||||
- $HOME/.composer/cache/files
|
||||
before_script:
|
||||
- phpenv global "$TRAVIS_PHP_VERSION"
|
||||
- composer config extra.platform.php $TRAVIS_PHP_VERSION
|
||||
install:
|
||||
- flags="--ansi --prefer-dist --no-interaction --optimize-autoloader --no-suggest --no-progress"
|
||||
- travis_wait 30 composer install $flags
|
||||
script:
|
||||
- ./vendor/bin/phpunit -c phpunit.xml
|
||||
86
README.md
86
README.md
@@ -5,104 +5,110 @@
|
||||
[](https://scrutinizer-ci.com/g/ivuorinen/bbcodeparser)
|
||||
[](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
|
||||
|
||||
|
||||
@@ -6,20 +6,11 @@
|
||||
"keywords": [
|
||||
"bbcode",
|
||||
"parser",
|
||||
"laravel",
|
||||
"psr-1",
|
||||
"psr-2",
|
||||
"psr-4"
|
||||
"laravel"
|
||||
],
|
||||
"scripts": {
|
||||
"test": "vendor/bin/phpunit",
|
||||
"lint": "vendor/bin/phpcs",
|
||||
"lint-fix": "vendor/bin/phpcbf"
|
||||
},
|
||||
"authors": [
|
||||
{
|
||||
"name": "Ismo Vuorinen",
|
||||
"email": "ismo@ivuorinen.net",
|
||||
"homepage": "https://github.com/ivuorinen"
|
||||
},
|
||||
{
|
||||
@@ -33,7 +24,7 @@
|
||||
"issues": "https://github.com/ivuorinen/bbcodeparser/issues"
|
||||
},
|
||||
"require": {
|
||||
"php": ">=7.4 || ^8.0 || ^8.1"
|
||||
"php": "^8.1"
|
||||
},
|
||||
"require-dev": {
|
||||
"dms/phpunit-arraysubset-asserts": "0.4.0",
|
||||
@@ -73,5 +64,10 @@
|
||||
"ivuorinen\\BBCode\\BBCodeParserServiceProvider"
|
||||
]
|
||||
}
|
||||
},
|
||||
"scripts": {
|
||||
"lint": "vendor/bin/phpcs",
|
||||
"lint-fix": "vendor/bin/phpcbf",
|
||||
"test": "vendor/bin/phpunit"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0"?>
|
||||
<ruleset name="Basic Project Coding Standards">
|
||||
<rule ref="PSR2" />
|
||||
<rule ref="PSR2"/>
|
||||
|
||||
<rule ref="Generic.CodeAnalysis.EmptyStatement" />
|
||||
<rule ref="Generic.CodeAnalysis.EmptyStatement"/>
|
||||
<rule ref="Generic.Classes.DuplicateClassName"/>
|
||||
<rule ref="Generic.CodeAnalysis.EmptyStatement"/>
|
||||
<rule ref="Generic.CodeAnalysis.UnconditionalIfStatement"/>
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" backupGlobals="false" backupStaticAttributes="false" bootstrap="vendor/autoload.php" colors="true" convertErrorsToExceptions="true" convertNoticesToExceptions="true" convertWarningsToExceptions="true" processIsolation="false" stopOnFailure="false" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd">
|
||||
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd"
|
||||
bootstrap="vendor/autoload.php"
|
||||
colors="true"
|
||||
>
|
||||
<coverage processUncoveredFiles="true">
|
||||
<include>
|
||||
<directory suffix=".php">./src</directory>
|
||||
|
||||
Reference in New Issue
Block a user