This package parse bbcode
tags to html.
Via Composer
composer require daddyfrosty/laravel-bbcode-parser-zaym
To parse some text it's as easy as this!
use BBCode\Facades\BBCode;
echo BBCode::parse('[b]Text![/b]');
// The result is '<strong>Text!</strong>'
echo BBCode::only(['bold', 'italic'])
->parse('[b][u]text[/u] [i]text[/i]![/b]');
/**
* <strong>
* [u]Text[/u]
* <span style="font-style: italic;">text</span>
* </strong>
*/
echo BBCode::only('bold', 'italic')
->parse('[b][u]text[/u] [i]text[/i]![/b]');
echo BBCode::except('bold')
->parse('[b]text[/b] [i]text[/i]');
/**
* [b]text[/b]
* <span style="font-style: italic;">text</span>
*/
By default, the parser is case sensitive.
# Case insensitive
echo BBCode::parse('[b]Bold[/b] [I]Italic![/I]', true);
# or other way
echo BBCode::parseCaseInsensitive('[b]Bold[/b] [i]Italic[/i]');
BBCode::stripBBCodeTags('[b]Bold[/b] [i]Italic![/i]');
@bb('[b]Bold[/b] [i]Italic[/i]')
{{-- <strong>Bold</strong> <em>Italic</em> --}}
@bbexcept('bold', '[b]Bold[/b] [i]Italic[/i]')
{{-- [b]Bold[/b] <em>Italic</em> --}}
@bbonly('bold', '[b]Bold[/b] [i]Italic[/i]')
{{-- <strong>Bold</strong> [i]Italic[/i] --}}
Can add custom bbcode tags inside config file
php artisan vendor:publish --provider="Rwxrwx\BBCode\BBCodeServiceProvider" --tag="bbcodes-config"
Or you can add using method
<?php
namespace App\Providers;
use BBCode\Facades\BBCode;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
BBCode::addTag(
name: 'size',
// $1 $2
search: '/\[size\=([1-7])\](.*?)\[\/size\]/s',
replace: '<span style="font-size: $1px;">$2</span>',
content: '$2' // content param
);
}
}
Using
BBCode::parse('[size=2]text[/size] [b]Example[/b]');
BBCode::except('size')->parse('[size=2]text[/size] [b]Example[/b]');
BBCode::only('size')->parse('[size=2]text[/size] [b]Example[/b]');
The MIT License (MIT). Please see License File for more information.