phlak/twine

字符串操作,更上一层楼!

4.2.0 2020-09-03 04:13 UTC

README

Twine

字符串操作,更上一层楼! -- 作者,Chris Kankiewicz (@PHLAK)

Join the Community Become a Sponsor One-time Donation
Latest Stable Version Total Downloads GitHub branch checks state License

简介

Twine 是一个具有表达性和流畅语法的字符串操作库。

要求

使用 Composer 安装

composer require phlak/twine

入门

首先,导入 Twine

use PHLAK\Twine;

然后通过创建一个 Twine\Str 对象并传入字符串作为第一个参数来实例化一个 Twine 对象。

$string = new Twine\Str('john pinkerton');

您也可以通过 make() 方法静态地实例化一个 Twine\Str 对象。

$string = Twine\Str::make('john pinkerton');

或者使用全局的 str() 辅助方法。该方法仅接受一个字符串参数,并返回一个 Twine\Str 对象。

$string = str('john pinkerton');

一旦您有一个具体的 Twine\Str 实例,您就可以像对待任何其他字符串一样对待它。这包括输出它或使用 PHP 的内置字符串函数。

echo $string; // Echos 'john pinkerton'

str_shuffle($string) // Returns something like 'enoipo ktnjhnr'

strlen($string); // Returns 14

然而,Twine 的强大之处在于其内置的方法。

$string->echo(); // Echos 'john pinkerton'
$string->shuffle(); // Returns something like 'enoipo ktnjhnr'
$string->length(); // Returns 14

// or some more interesting methods

$string->reverse(); // Returns 'notreknip nhoj'
$string->contains('pink'); // Returns true
$stting->replace('pink', 'purple'); // Returns 'john purpleton'
$string->snakeCase(); // Returns 'john_pinkerton'

此时,您可以通过调用其众多内置方法之一来开始使用 Twine。

可用方法

afterappendbase64base64Decodebase64EncodebcryptbeforecamelCasecharacterschunkcontainscountcrc32cryptdecryptechoencodingencryptendsWithequalsexplodefirstformatfromhexhexEncodehexDecodeinsensitiveMatchinsertinisAlphabeticisAlphanumericisEmptyisLowercaseisNotEmptyisNumericisPrintableisPunctuationisUppercaseisWhitespacejoinkebabCaselastlengthlowercaselowercaseFirstlowercaseWordsmatchmatchAllmatchesmd5nthpadpadBothpadLeftpadRightpascalCaseprependrepeatreplacereversesha1sha256shufflesimilaritysnakeCasesplitstartsWithstripstudlyCasesubstringtotrimtrimLefttrimRighttruncateuppercaseuppercaseFirstuppercaseWordsurlwordswrapwrapHardwrapSoft

方法链

Twine 字符串可以通过链式调用方法流畅地进行操作。以下是一些示例链

执行子字符串比较

$string = new Twine\Str('john pinkerton');

$string->substring(5, 4)->equals('pink'); // Returns true

按照 RFC 2045 规范编码文件。

$string = new Twine\Str(file_get_contents('garbage.bin'));

$string->base64()->wrap(76, "\r\n", Twine\Config\Wrap::HARD);

更多详细信息请参阅完整的文档:https://twine.phlak.net

多字节字符串

Twine 通过依赖 PHP 的 多字节字符串扩展 (mbstring) 来执行字符串操作,旨在实现多字节字符串兼容性。因此,需要 mbstring 扩展。多字节字符串包括 UTF-8 和 UCS-2 等Unicode编码。

变更日志

变更列表可以在 GitHub 发布页面 找到。

故障排除

有关一般帮助和支持,请加入我们的 GitHub 讨论区 或在 Twitter 上联系。

请将错误报告到 GitHub 问题跟踪器

版权

本项目采用 MIT 许可证