dvlpr1996 / php-string-helpers
一些有用的 PHP 字符串辅助方法
v3.0.0
2024-05-06 03:14 UTC
Requires
- php: ^8.1
Requires (Dev)
- phpunit/phpunit: ^9.5
- symfony/var-dumper: ^6.0
README
所有功能辅助方法默认启用(如果这些函数尚未定义)。此外,您可以将它们用作实用工具类。
要求
- PHP 8.1 或更高版本
安装
您可以通过 composer 安装此包
composer require dvlpr1996/php-string-helpers
StrUtility 作为静态方法使用
您可以将字符串辅助方法作为静态方法使用,例如以下用法:首先使用 StrUtility 类
use dvlpr1996\PhpStringHelpers\Facade\StrUtility;
- 将单词转换为驼峰式
StrUtility::toCamelCase(string $words): string
- 将单词转换为 Pascal 大写
StrUtility::toPascalCase(string $words): string
- 将单词转换为中划线命名
StrUtility::toKebabCase(string $words): string
- 将单词转换为标题式
StrUtility::toTitleCase(string $words): string
- 将单词转换为常量命名 | foo bar baz 转换为 FOO_BAR_BAZ
StrUtility::toConstant(string $words): string
- 将单词转换为蛇形命名
StrUtility::toSnakeCase(string $words): string
- 将单词转换为路径命名 | foo bar baz 转换为 foo/bar/baz
StrUtility::toPathCase(string $words): string
- 将单词转换为 Ada 命名 | foo bar 转换为 Foo_Bar
StrUtility::toAdaCase(string $words): string
- 将单词转换为点符号命名 | foo bar 转换为 foo.bar
StrUtility::dotNotation(string $words): string
- htmlspecialchars() 的包装器
StrUtility::entitiesWrapper($data): string
- 将字符串转换为 slug
StrUtility::toSlug(string $string): string
- 移除所有空白字符
StrUtility::rmAllBlanks(string $string): string
- 如果字符串参数为 null,则返回备用字符串
StrUtility::alternate(?string $string, string $alternate = null): string
- 翻译方法,使用此方法时,您应该创建包装函数,例如
function <your_wrapper_function_name>(string $key, string $alternative = '', string $dirName = 'en') { $BASE_PATH = // base (root) path of your project $translatePath = StrUtility::translatePath($BASE_PATH, $dirName); return StrUtility::translate($translatePath . $key, $alternative); }
< your_wrapper_function_name>('app.title') 引用 lang/en/app.php 和 app.php 文件中的 title 数组键。app.php 必须仅返回关联数组。这些翻译方法仅适用于单级
StrUtility::translate(string $key, string $alternative = ''): string|array
- 将字符串包装在包装器参数中
StrUtility::wrapper(int|string $string, int|string $wrapper = '*'): string
- 返回文件路径
StrUtility::filePath(string $path, string $pathExtension = 'php'): string
- 生成介于 4 位和 12 位之间的唯一 PIN 码
StrUtility::generatePin(int $length = 4): int
- 清理和确保给定的字符串数据
StrUtility::clearString(string $data): string
- 仅返回字符串并删除其他字符
StrUtility::pureString(string $data): string
- 生成随机字符串
StrUtility::randomChar(int $size = 5): string
- 生成随机十六进制颜色
StrUtility::randomHex(): string
- 生成随机 RGB 颜色
StrUtility::randomRgb(): string
- 移除所有类型的链接
StrUtility::rmLink(string $string): string
- 基于 $length 限制字符并替换为 ...
StrUtility::limitChar(string|int $string, int $length): string
- 生成唯一的 ID 号码
StrUtility::generateId(string|int $prefix ='',string|int $suffix ='',bool $moreEntropy = false): string
- 移除所有数字
StrUtility::rmNumbers(string $string): string
- 移除所有字符
StrUtility::rmCharacters(string $string): string
- 移除所有额外空格
StrUtility::rmExtraBlank(string $string): string
- 将十六进制颜色转换为 RGB 颜色
StrUtility::hexToRgb(string $color): ?string
- 将 RGB 颜色转换为十六进制颜色
StrUtility::rgbToHex(string $color): ?string
- 生成 <a> 标签链接
StrUtility::generateAnchor(string|int $content, string $href): string
- 返回字符串编码 . mb_detect_encoding() 的包装器
StrUtility::getEncoding(string $string): string
StrUtility::isUtf8(string|array $string): bool
- 移除重复的单词
StrUtility::rmDuplicateWords(string $string): string
- 根据 $num 参数从右侧移除字符
StrUtility::rmRightChar(string $words, int $num): string
- 根据 $num 参数从左侧移除字符
StrUtility::rmLeftChar(string $words, int $num): string
- 根据 $num 参数从两侧移除字符
StrUtility::rmBothSideChar(string $words, int $num): string
- 检查数据类型是否为 JSON
StrUtility::isJson(mixed $data): bool
- 检查字符串是否包含指定的值
StrUtility::isContains(string $string, string $search, bool $caseSensitive = false): bool
- 检查字符串是否以指定的值 <$search> 开头
StrUtility::isStartWith(string $string, string $search, bool $caseSensitive = false): bool
- 返回最后一个单词
StrUtility::lastWord(string $string): string
- 返回第一个单词
StrUtility::firstWord(string $string): string
- 返回第一个数字
StrUtility::getFirstNumbers(string $string): string
- 返回最后一个数字
StrUtility::getLastNumbers(string $string): string
StrUtility::rmBeginningNumbers(string $string): string
StrUtility::rmEndingNumbers(string $string): string
StrUtility::convertToUtf8(string $string): string|bool
- 递增字符串末尾的数字
StrUtility::incrementBy(string $string, ?string $separator = null): string
- 递减字符串末尾的数字
StrUtility::decrementBy(string $string, ?string $separator = null): string
- 从给定字符串中移除最后一个单词
StrUtility::rmLastWord(string $string): string
- 从给定字符串中移除第一个单词
StrUtility::rmFirstWord(string $string): string
- 检查给定字符串的类型是否为 slug
StrUtility::is_slug(string $slug): bool
- 检查给定 IP 的类型是否为有效的 IPv4
StrUtility::is_ipv4(string $ip): bool
- 检查给定 IP 的类型是否为有效的 IPv6
StrUtility::is_ipv6(string $ip): bool
- 删除给定 $search 单词之前的所有单词
StrUtility::after(string $string, string $search): string
- 删除给定 $search 单词之后的所有单词
StrUtility::before(string $string, string $search): string
StrUtility::hasSpace(string $string): bool
StrUtility::isEmail(string $email): bool
StrUtility::detectCase(string $word): string
StrUtility::isLowerCase(string $word): bool
StrUtility::isUpperCase(string $word): bool
StrUtility::isTitleCase(string $word): bool
StrUtility::isSnakeCase(string $word): bool
StrUtility::validateUserName(string $userName, int $min = 3, int $max = 20): bool
StrUtility::humanFileSize(int $size, string $type = 'KB'): string
StrUtility 作为辅助函数使用
字符串辅助函数是全局的,所以用法如下
decrementBy(string $string, ?string $separator = null): string
StrUtility 作为对象使用
use PhpStringHelpers\utility\StrUtility; $string = new StrUtility; $string->toConstant('foo bar baz');
变更日志
有关最近更改的更多信息,请参阅 CHANGELOG
问题
如果您发现任何问题,请使用问题跟踪器。
致谢
许可
MIT许可证(MIT)。有关更多信息,请参阅许可证文件。