revolution / laravel-str-mixins
Laravel Str 混合扩展
2.6.0
2024-02-20 05:18 UTC
Requires
- php: ^8.1
- ext-mbstring: *
- illuminate/support: ^10.0||^11.0
Requires (Dev)
- orchestra/testbench: ^8.0
- phpunit/phpunit: ^10.0
README
Illuminate\Support\Str
扩展,主要是针对日语的mixin
要求
- PHP >= 8.1
- Laravel >= 10.0
版本控制
- 基本上是语义版本控制。
- 支持期间与PHP本体或Laravel相同,因此对于已停止支持的旧版本,可以毫不犹豫地通过
+0.1
的版本升级来删除。 - 旧主版本将保留在单独的分支中。
- v1.x 仅适用于 Laravel6。
- v2.x 仅适用于 Laravel7以上,因为需要支持 Fluent Strings。
安装
composer require revolution/laravel-str-mixins
卸载
composer remove revolution/laravel-str-mixins
Str
Str::textwrap(string $str, int $width = 10, string $break = PHP_EOL): string
指定文字数进行换行。只是简单地换行,没有禁则处理等。
$text = Str::textwrap(str: 'abcde', width: 3); // abc // de
最初是为了适应 OGP 图片宽度而进行强制换行的目的。
由于 Laravel 10.19.0 中增加了同名的 Str::wordWrap()
,因此将 textwrap
改为 textwrap
。由于操作不同,因此没有删除而保留。Str::wordWrap()
在日语中可能不会产生预期的效果。
Str::kana(string $str, string $option = 'KV', string $encoding = 'UTF-8'): string
与 mb_convert_kana()
相同。
$text = Str::kana(str: 'abcあいうアイウ', option: 'KVa'); // abcあいうアイウ
Str::truncate(string $str, int $limit = 100, string $end = '...'): string
Str::limit()
以半角1、全角2进行计数并截断。使用多字节函数,但按字符宽度进行计数。
$text = Str::limit('abcあいうえお', 7); // abcあい...
由于日语中可能不会产生预期的效果,因此使用字数进行计数并截断的 Str::truncate()
$text = Str::truncate(str: 'abcあいうえお', limit: 7); // abcあいうえ...
Fluent Strings
textwrap(int $width = 10, string $break = PHP_EOL): Stringable
$text = Str::of('abcde')->textwrap(width: 3)->value(); // abc // de
kana(string $option = 'KV', string $encoding = 'UTF-8'): Stringable
$text = Str::of('abcあいうアイウ')->kana(option: 'KVa')->value(); // abcあいうアイウ
用于连接使用。
$text = Str::of('abcあいうアイウ')->kana(option: 'KVa')->textwrap(3)->value(); // abc // あいう // アイウ
truncate(int $limit = 100, string $end = '...'): Stringable
$text = Str::of('abcあいうえお')->truncate(limit: 6, end: '___')->value(); // abcあいう___
许可
MIT