realodix / change-case
Convert strings between camelCase, PascalCase, Headline Case, snake_case and more.
Installs: 12 790
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Requires
- php: ^8.1
- ext-mbstring: *
- symfony/options-resolver: ^6.1 || ^7.0
Requires (Dev)
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^10.5 || ^11.0
- realodix/relax: ^1.7
This package is auto-updated.
Last update: 2025-03-02 16:51:24 UTC
README
Transform a string between
camelCase
,PascalCase
,Headline Case
,snake_case
,param-case
,CONSTANT_CASE
and others.
Installation
You can install the package via composer:
composer require realodix/change-case
Usage
use Realodix\ChangeCase\ChangeCase;
Methods Available
camelCase
CONSTANT_CASE
dot.case
Header-Case
Headline Case
kebab-case
no case
PascalCase
path/case
Sentence case
snake_case
swapCase
Options
Every method that gets 💡 flag, they can support option
delimiter
: (string) This character separates each chunk of data within the text string. Default: singgle space.splitRx
: (RegExp) Used to split into word segments.stripRx
: (RegExp) Used to remove extraneous characters.separateNum
: (bool) Used to separate numbers or not. Default: false.apostrophe
: (bool) Used to separate apostrophe or not. Default: false.
Examples
ChangeCase::header('TestV2', ['separateNum' => true]); // 'Test-V-2'
camelCase
Transform into a string with the separator denoted by the next word capitalized.
💡 Support options
ChangeCase::camel('test string'); // 'testString' ChangeCase::camel('1twoThree'); // '1twoThree' ChangeCase::camel('1twoThree', ['separateNum' => true]); // '1TwoThree'
CONSTANT_CASE
Transform into upper case string with an underscore between words.
ChangeCase::constant('test string'); // 'TEST_STRING'
dot.case
Transform into a lower case string with a period between words.
💡 Support options
ChangeCase::dot('test string'); // 'test.string'
Header-Case
Transform into a dash separated string of capitalized words.
💡 Support options
ChangeCase::header('test string'); // 'Test-String'
Headline Case
Transform a strings delimited by casing, hyphens, or underscores into a space delimited string with each word's first letter capitalized.
ChangeCase::headline('test string'); // 'Test String' ChangeCase::headline('steve_jobs'); // Steve Jobs ChangeCase::headline('EmailNotificationSent'); // Email Notification Sent
kebab-case
Transform into a lower cased string with dashes between words.
💡 Support options
ChangeCase::kebab('test string'); // 'test-string' ChangeCase::kebab('Foo123Bar'); // 'foo123-bar' ChangeCase::kebab('Foo123Bar', ['separateNum' => true]); // 'foo-123-bar'
no case
Transform into a lower cased string with spaces between words, and clean up the string from non-word characters.
💡 Support options
ChangeCase::no('testString'); // 'test string' ChangeCase::no('Foo123Bar') // foo123 bar ChangeCase::no('Foo123Bar', ['separateNum' => true]) // foo 123 bar
PascalCase
Transform into a string of capitalized words without separators.
💡 Support options
ChangeCase::pascal('test string'); // 'TestString'
path/case
Transform into a lower case string with slashes between words.
💡 Support options
ChangeCase::path('test string'); // 'test/string'
Sentence case
Transform into a lower case with spaces between words, then capitalize the string.
💡 Support options
ChangeCase::sentence('testString'); // 'Test string'
snake_case
Transform into a lower case string with underscores between words.
💡 Support options
ChangeCase::snake('test string'); // 'test_string' ChangeCase::snake('Foo123Bar'); // 'foo123_bar' ChangeCase::snake('Foo123Bar', ['separateNum' => true]); // 'foo_123_bar'
swapCase
Transform a string by swapping every character from upper to lower case, or lower to upper case.
ChangeCase::swap('Test String'); // 'tEST sTRING'
License
The MIT License (MIT). Please see License File for more information.