diff --git a/.github/workflows/php.yml b/.github/workflows/php.yml index ad0eb95..674db5e 100644 --- a/.github/workflows/php.yml +++ b/.github/workflows/php.yml @@ -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: diff --git a/.gitignore b/.gitignore index 8b7ef35..722dce6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ -/vendor +vendor composer.lock +*.cache diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 6f611cc..0000000 --- a/.travis.yml +++ /dev/null @@ -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 diff --git a/README.md b/README.md index 13649d8..3b4fcca 100644 --- a/README.md +++ b/README.md @@ -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]'); // Bold Text! ``` + 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]'); - // [u]Bold[/u] Italic! +```php +$bbcode = new ivuorinen\BBCode\BBCodeParser(); -echo $bbcode->except('bold') - ->parse('[b]Bold[/b] [i]Italic[/i]'); - // [b]Bold[/b] Italic +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 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); - // Bold Italic! +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! +// 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 ivuorinen\BBCode\BBCodeParser; - echo $bbcode->parseCaseSensitive('[b]Bold[/b] [I]Italic![/I]'); - // Bold [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]'); // Bold [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]'); - // [u]Bold[/u] 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 + ->parse('[b]Bold[/b] [i]Italic[/i]'); // [b]Bold[/b] Italic ``` ## 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 diff --git a/composer.json b/composer.json index 64b1b3e..2538675 100644 --- a/composer.json +++ b/composer.json @@ -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" } } diff --git a/phpcs.xml b/phpcs.xml index f078883..69aaf16 100644 --- a/phpcs.xml +++ b/phpcs.xml @@ -1,8 +1,8 @@ - + - + diff --git a/phpunit.xml b/phpunit.xml index b04c787..7c72e8c 100644 --- a/phpunit.xml +++ b/phpunit.xml @@ -1,13 +1,17 @@ - - - - ./src - - - - - ./tests - - + + + + ./src + + + + + ./tests + +