# String Helper aka Str - Class with Namespace: `\FluentCrm\Framework\Support\Str` - Method Types: `static` ### `Str::camel()` The `Str::camel` method converts the given string to `camelCase`: ```php use FluentCrm\Framework\Support\Str; $converted = Str::camel('foo_bar'); // fooBar ``` ### `Str::endsWith()` The `Str::endsWith` method determines if the given string ends with the given value: ```php use FluentCrm\Framework\Support\Str; $result = Str::endsWith('This is my name', 'name'); // true ``` ### `Str::kebab()` The `Str::kebab` method converts the given string to `kebab-case`: ```php use FluentCrm\Framework\Support\Str; $converted = Str::kebab('fooBar'); // foo-bar ``` ### `preg_replace_array()` The `preg_replace_array` function replaces a given pattern in the string sequentially using an array: ```php $string = 'The event will take place between :start and :end'; $replaced = preg_replace_array('/:[a-z_]+/', ['8:30', '9:00'], $string); // The event will take place between 8:30 and 9:00 ``` ### `Str::snake()` The `Str::snake` method converts the given string to `snake_case`: ```php use FluentCrm\Framework\Support\Str; $converted = Str::snake('fooBar'); // foo_bar ``` ### `Str::startsWith()` The `Str::startsWith` method determines if the given string begins with the given value: ```php use FluentCrm\Framework\Support\Str; $result = Str::startsWith('This is my name', 'This'); // true ``` ### `Str::after()` The `Str::after` method returns everything after the given value in a string: ```php use FluentCrm\Framework\Support\Str; $slice = Str::after('This is my name', 'This is'); // ' my name' ``` ### `Str::before()` The `Str::before` method returns everything before the given value in a string: ```php use FluentCrm\Framework\Support\Str; $slice = Str::before('This is my name', 'my name'); // 'This is ' ``` ### `Str::contains()` The `Str::contains` method determines if the given string contains the given value (case sensitive): ```php use FluentCrm\Framework\Support\Str; $contains = Str::contains('This is my name', 'my'); // true ``` You may also pass an array of values to determine if the given string contains any of the values: ```php use FluentCrm\Framework\Support\Str; $contains = Str::contains('This is my name', ['my', 'foo']); // true ``` ### `Str::finish()` The `Str::finish` method adds a single instance of the given value to a string if it does not already end with the value: ```php use FluentCrm\Framework\Support\Str; $adjusted = Str::finish('this/string', '/'); // this/string/ $adjusted = Str::finish('this/string/', '/'); // this/string/ ``` ### `Str::is()` The `Str::is` method determines if a given string matches a given pattern. Asterisks may be used to indicate wildcards: ```php use FluentCrm\Framework\Support\Str; $matches = Str::is('foo*', 'foobar'); // true $matches = Str::is('baz*', 'foobar'); // false ``` ### `Str::limit()` The `Str::limit` method truncates the given string at the specified length: ```php use FluentCrm\Framework\Support\Str; $truncated = Str::limit('The quick brown fox jumps over the lazy dog', 20); // The quick brown fox... ``` You may also pass a third argument to change the string that will be appended to the end: ```php use FluentCrm\Framework\Support\Str; $truncated = Str::limit('The quick brown fox jumps over the lazy dog', 20, ' (...)'); // The quick brown fox (...) ``` ### `Str::orderedUuid()` The `Str::orderedUuid` method generates a "timestamp first" UUID that may be efficiently stored in an indexed database column: ```php use FluentCrm\Framework\Support\Str; return (string) Str::orderedUuid(); ``` ### `Str::plural()` The `Str::plural` method converts a string to its plural form. This function currently only supports the English language: ```php use FluentCrm\Framework\Support\Str; $plural = Str::plural('car'); // cars $plural = Str::plural('child'); // children ``` You may provide an integer as a second argument to the function to retrieve the singular or plural form of the string: ```php use FluentCrm\Framework\Support\Str; $plural = Str::plural('child', 2); // children $plural = Str::plural('child', 1); // child ``` ### `Str::random()` The `Str::random` method generates a random string of the specified length. This function uses PHP's `random_bytes` function: ```php use FluentCrm\Framework\Support\Str; $random = Str::random(40); ``` ### `Str::replaceArray()` The `Str::replaceArray` method replaces a given value in the string sequentially using an array: ```php use FluentCrm\Framework\Support\Str; $string = 'The event will take place between ? and ?'; $replaced = Str::replaceArray('?', ['8:30', '9:00'], $string); // The event will take place between 8:30 and 9:00 ``` ### `Str::replaceFirst()` The `Str::replaceFirst` method replaces the first occurrence of a given value in a string: ```php use FluentCrm\Framework\Support\Str; $replaced = Str::replaceFirst('the', 'a', 'the quick brown fox jumps over the lazy dog'); // a quick brown fox jumps over the lazy dog ``` ### `Str::replaceLast()` The `Str::replaceLast` method replaces the last occurrence of a given value in a string: ```php use FluentCrm\Framework\Support\Str; $replaced = Str::replaceLast('the', 'a', 'the quick brown fox jumps over the lazy dog'); // the quick brown fox jumps over a lazy dog ``` ### `Str::singular()` The `Str::singular` method converts a string to its singular form. This function currently only supports the English language: ```php use FluentCrm\Framework\Support\Str; $singular = Str::singular('cars'); // car $singular = Str::singular('children'); // child ``` ### `Str::slug()` The `Str::slug` method generates a URL friendly "slug" from the given string: ```php use FluentCrm\Framework\Support\Str; $slug = Str::slug('Laravel 5 Framework', '-'); // laravel-5-framework ``` ### `Str::start()` The `Str::start` method adds a single instance of the given value to a string if it does not already start with the value: ```php use FluentCrm\Framework\Support\Str; $adjusted = Str::start('this/string', '/'); // /this/string $adjusted = Str::start('/this/string', '/'); // /this/string ``` ### `Str::studly()` The `Str::studly` method converts the given string to `StudlyCase`: ```php use FluentCrm\Framework\Support\Str; $converted = Str::studly('foo_bar'); // FooBar ``` ### `Str::title()` The `Str::title` method converts the given string to `Title Case`: ```php use FluentCrm\Framework\Support\Str; $converted = Str::title('a nice title uses the correct case'); // A Nice Title Uses The Correct Case ``` If the specified translation key does not exist, the `trans` function will return the given key. So, using the example above, the `trans` function would return `messages.welcome` if the translation key does not exist. ### `Str::uuid()` The `Str::uuid` method generates a UUID (version 4): ```php use FluentCrm\Framework\Support\Str; return (string) Str::uuid(); ```