Skip to content
View as Markdown

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();