pherum/laravel-bbcode

使用这个库轻松解析BBCode。

v1.1 2021-04-11 20:41 UTC

This package is auto-updated.

Last update: 2024-09-12 04:12:14 UTC


README

Latest Version on Packagist Software License Build Status StyleCI Quality Score Total Downloads

描述

使用laravel-bbcode轻松解析BBCode

安装

通过Composer

composer require pherum/laravel-bbcode

用法

解析一些文本就像这样简单!

$bbcode = new PheRum\BBCode\BBCodeParser;

echo $bbcode->parse('[b]Bold Text![/b]');
// <strong>Bold Text!</strong>

如果不想使用所有BBCodes,只需这样做。

$bbcode = new PheRum\BBCode\BBCodeParser;

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>

默认情况下,解析器是区分大小写的。但如果你想让解析器接受像[B]粗体文本[/B]这样的标签,其实很简单。

$bbcode = new PheRum\BBCode\BBCodeParser;

// Case insensitive
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>

你也可以通过使用另一个辅助函数来更明确地表示解析器是区分大小写的。

    $bbcode = new PheRum\BBCode\BBCodeParser;

    echo $bbcode->parseCaseSensitive('[b]Bold[/b] [I]Italic![/I]');
         // <strong>Bold</strong> [I]Italic![/I]

如果你想完全删除所有BBCode,只需一个函数调用即可。

    $bbcode = new PheRum\BBCode\BBCodeParser;

    echo $bbcode->stripBBCodeTags('[b]Bold[/b] [i]Italic![/i]');  // Bold Italic!

Laravel集成

Laravel的集成非常简单,方法与Laravel 5相同。只需打开你的app.php配置文件。

在这里,你只需向你的提供者数组中添加以下内容

PheRum\BBCode\BBCodeServiceProvider::class,

以及以下内容到你的外观数组中

'BBCode' => PheRum\BBCode\Facades\BBCode::class,

语法与在纯PHP中使用时相同,但在方法前使用BBCode::。以下是一些示例。

// 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>

// Or the except method
echo BBCode::except('bold')
        ->parse('[b]Bold[/b] [i]Italic[/i]'); // [b]Bold[/b] <em>Italic</em>

测试

phpunit

贡献

有关详细信息,请参阅CONTRIBUTING

鸣谢

许可协议

MIT许可协议(MIT)。有关更多信息,请参阅许可文件