dvlpr1996/php-string-helpers

一些有用的 PHP 字符串辅助方法

v3.0.0 2024-05-06 03:14 UTC

This package is auto-updated.

Last update: 2024-09-13 08:24:21 UTC


README

License: MIT Latest Version on Packagist Total Downloads

所有功能辅助方法默认启用(如果这些函数尚未定义)。此外,您可以将它们用作实用工具类。

要求

  • 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)。有关更多信息,请参阅许可证文件