erdemuk/case-converter

StringConverter包提供了一种方便的方法,可以将字符串或数组键转换为所需的格式。

v1.3 2023-06-22 17:25 UTC

This package is auto-updated.

Last update: 2024-09-22 20:17:41 UTC


README

CaseConverter是一个功能强大的PHP库,它提供了一种方便的方法来在不同格式之间转换文本。它支持流行的格式,如snake_case、kebab-case、camelCase、PascalCase和space case。

安装

您可以使用Composer将CaseConverter安装到项目中

composer require erdemuk/case-converter

使用方法

use CaseConverter\CaseConverter;

$input = 'hello_world';
$converted = CaseConverter::convertCase($input, new KebabCase);

echo $converted; // hello-world

在上面的示例中,使用convertCase方法将文本hello_world转换为kebab-case格式。

支持的字母大小写格式

  • SnakeCase:示例:hello_world
  • KebabCase:示例:hello-world
  • CamelCase:示例:helloWorld
  • PascalCase:示例:HelloWorld
  • SpaceCase:示例:Hello World

文本转换

CaseConverter可以转换单个文本或数组中的文本。下面是一些使用示例

转换单个文本

use CaseConverter\CaseConverter;

$input = 'hello_world';
$converted = CaseConverter::convertCase($input, new KebabCase);

echo $converted; // hello-world

转换数组中的文本

use CaseConverter\CaseConverter;

$input = [
    'first_name' => 'John',
    'last_name' => 'Doe',
    'email_address' => 'john.doe@example.com'
];

$converted = CaseConverter::convertCase($input, new PascalCase);

print_r($converted);
/*
Array
(
    [FirstName] => John
    [LastName] => Doe
    [EmailAddress] => john.doe@example.com
)
*/

在上面的示例中,数组中的文本被转换为"PascalCase"格式。

转换多维数组

CaseConverter还可以处理多维数组。以下是一个示例

use CaseConverter\CaseConverter;

$input = [
    'user' => [
        'firstName' => 'John',
        'lastName' => 'Doe',
        'emailAddress' => 'john.doe@example.com'
    ],
    'address' => [
        'street' => '123 Main St',
        'city' => 'New York',
        'country' => 'USA'
    ]
];

$converted = CaseConverter::convertCase($input, new SnakeCase);

print_r($converted);
/*
Array
(
    [user] => Array
        (
            [first_name] => John
            [last_name] => Doe
            [email_address] => john.doe@example.com
        )

    [address] => Array
        (
            [street] => 123 Main St
            [city] => New York
            [country] => USA
        )

)
*/

在上面的示例中,多维数组中的文本被转换为"snake_case"格式。

贡献

对CaseConverter的贡献总是受欢迎的!如果您发现任何错误、问题或对改进有建议,请随时在GitHub存储库中打开问题或提交拉取请求。