jawira/case-converter

Convert strings between 13 naming conventions: Snake case, Camel case, Pascal case, Kebab case, Ada case, Train case, Cobol case, Macro case, Upper case, Lower case, Sentence case, Title case and Dot notation.

v3.5.1 2022-08-14 11:40 UTC

README

Use this library to convert string between:

Name Method Output example
🐪 Camel case toCamel() myNameIsBond
👨‍🏫 Pascal case toPascal() MyNameIsBond
🐍 Snake case toSnake() my_name_is_bond
👩‍🏫 Ada case toAda() My_Name_Is_Bond
Ⓜ️ Macro case toMacro() MY_NAME_IS_BOND
🥙 Kebab case toKebab() my-name-is-bond
🚂 Train case toTrain() My-Name-Is-Bond
🏦 Cobol case toCobol() MY-NAME-IS-BOND
🔡 Lower case toLower() my name is bond
🔠 Upper case toUpper() MY NAME IS BOND
📰 Title case toTitle() My Name Is Bond
✍️ Sentence case toSentence() My name is bond
⚙️ Dot notation toDot() my.name.is.bond

Features:

Packagist Version Packagist PHP Version Support Packagist Downloads Packagist License
Maintainability Test Coverage

Usage

Input string (i.e. john-connor) format is going to be detected automatically. Here's an example:

use Jawira\CaseConverter\Convert;

$hero = new Convert('john-connor');

echo $hero->toCamel();   // output: johnConnor

Of course you can explicitly set the format of input string:

echo $hero->fromKebab()->toSnake();   // output: john_connor

You can also use the provided factory to instantiate Convert class. A list of all public methods is also available.

i18n

Fully compatible with non-english alphabets:

// Spanish
$esp = new Convert('DON_RAMÓN_Y_ÑOÑO');
echo $esp->toCamel();   // output: donRamónYÑoño

// Greek
$grc = new Convert('πολύ-Καλό');
echo $grc->toCamel();   // output: πολύΚαλό

// Russian
$rus = new Convert('ОЧЕНЬ_ПРИЯТНО');
echo $rus->toCamel();   // output: оченьПриятно

case-converter is compatible with Simple Case-Mapping and Full Case-Mapping. Learn more about Case-Mapping.

Installation

composer require jawira/case-converter

Documentation

https://jawira.github.io/case-converter/

Contributing

  • If you liked this project, ⭐ star it on GitHub. GitHub Repo stars
  • Or follow me on Twitter. Twitter Follow

License

This library is licensed under the MIT LICENSE.

Packages from jawira

jawira/emoji-catalog GitHub stars
Get access to +3000 emojis as class constants.
jawira/plantuml-client GitHub stars
Convert PlantUML diagrams into images (svg, png, ...).
jawira/doctrine-diagram-bundle GitHub stars
Symfony Bundle to generate database diagrams.
more...